【发布时间】:2011-01-15 10:27:02
【问题描述】:
我在课堂上有一个静态变量。 我在全局范围内初始化它,它工作正常。
但是 当我尝试在主链接器中初始化时会引发错误。 为什么会这样。
class Myclass{
static int iCount;
} ;
int main(){
int Myclass::iCount=1;
}
在全局范围内为什么我必须指定变量类型 喜欢
int Myclass::iCount=1;
在我的课堂上,我将 iCount 定义为整数类型,为什么不呢。
Myclass::iCount =1 ; in //Global scope
【问题讨论】:
-
@goreSplatter:
Myclass::iCount不公开,它会失败。 -
@goreSplatter:@peoro 说了什么,但即使它是公开的,那也不是 assignment 和 initialisation
-
@peoro : 初始化私有静态数据成员不会失败!!其他访问,如 assignment,将失败。
-
@Nawaz:您没有阅读我正在回复的评论。建议在
main中添加Myclass::iCount=1;。 -
@peoro:你说的是赋值还是初始化?
标签: c++ static initialization