【发布时间】:2014-10-30 06:09:25
【问题描述】:
here is the code
struct point_tag {
int x;
int y;
};
typedef struct point_tag Point;
int main(void)
{
Point pt[] = { {10,20}, {30, 40}, {50,60}};
pt[0] = {100,200};
}
当我执行pt[0] = {100, 200} 时,编译器一直在抱怨
错误:“{”标记之前的预期表达式
不过,我真的不明白。 {令牌赋值运算符(=)之前的表达式不是吗?
我不明白为什么分配会是一个问题。地址 pt 处的值指的是一个 Point 数组。我只是将第 0 个点设置为这个新点,并且我知道以 {100,200} 之类的格式分配结构是合法的,其中该数组中的元素只是字段。
【问题讨论】: