【发布时间】:2017-04-03 05:48:02
【问题描述】:
这是我的另一个完全初学者的菜鸟问题:放置线条时
double w[1];
double *l;
l = w;
进入main()函数,编译时一切正常,但是,当把它放在main()之前(作为声明的变量),然后错误
在“
=”令牌之前应为“,”或“;”
出现在最后一行。
另外,将前两个放在main() 之前并且只有l = w; 放入main() 可以正常工作。为什么呢?它与编译/运行时有关吗?之前声明它们时,我不能在main() 之外分配值吗?如果有,为什么?
【问题讨论】:
-
正如您已经指出的那样,您不能在函数之外使用表达式。至于为什么...想想什么时候应该评估这些表达式 - 并假设多个编译单元可以引用相同的变量。
-
@rAndom69 你可以写
int dummy = ((l = w), 0); -
我不明白你的意思......可以在函数之外定义全局变量。此外,有效的方法类似于“int r = 4; int t = r;”但是,不起作用的是“int r = 4; int t; t = r;”所以问题是:这两件事有什么区别?
标签: c++ arrays pointers compilation declaration