这是我的另一个初学者 - 否则问题:放线时
double w[1];
double *l;
l = w;
进入main()
函数,编译时一切运行良好,但是,当它放在main()
之前(作为声明的变量)时,则错误
在'
,
'代币之前预期为“;
”或“=
”
出现在最后一行。
此外,将前两个放在main()
之前,只有l = w;
放入main()
也可以。为什么会这样?它与编译/运行时有关吗?如果之前已经声明了值,我可以不在main()
之外分配值吗?如果是这样,为什么?
答案 0 :(得分:3)
你不能在C ++中的函数之外拥有独立的表达式。
您可以通过将表达式移动到初始值设定项l
:
double w[1];
double *l = w;
答案 1 :(得分:0)
为什么它可以工作,声明可以在函数外部进行 - 但是,通过这样做,您将它声明为全局变量。
C ++可以在声明变量后对其进行初始化,但是,它不会运行除此之外的任何其他变量。所以在这种情况下,表达式
l = w;
不会运行,因为它不在方法内。