有如下代码
class A { static int a; static test(); } int a= 3;
问题:class A写完了之后在内存有分配空间吗?
为什么a还要在外边声明赋值一下?谢谢
有如下代码
class A { static int a; static test(); } int a= 3;
问题:class A写完了之后在内存有分配空间吗?
为什么a还要在外边声明赋值一下?谢谢
1.
定义一个类是没有给地址的,只有在实例化的时候才会给
2.
这样编译还是报错
应该是
int A::a=3;
a是静态变量,需要在外部重新声明,静态函数也一样
至于为什么还要在外部声明,就是因为他没有地址,编译器不知道它是多少