Chinaunix
标题:
为什么在类内初始化静态数据成员编译器不报错误?
[打印本页]
作者:
中国可爱小牛
时间:
2010-03-16 21:29
标题:
为什么在类内初始化静态数据成员编译器不报错误?
#include<iostream.h>
class TestClass
{
public:
TestClass()
{
static int i=0;
cout<<++i<<endl;
}
};
void main()
{
TestClass obj1;
TestClass obj2;
return;
}
百度过了,找不到答案。请教:类内不是只能声明静态数据成员而不能初始化吗?这里初始化了怎么一点问题都没有呢?
编译器:VC 6.0 系统环境: xp professional sp2
作者:
eookoo
时间:
2010-03-16 22:59
你百度過但沒 Google 過
.....
你這是在 constructor 裡, 我更好奇的反而是 cout 跟 endl 沒有報錯嗎?....
class A
{
public:
static int a = 0; // 类内 .... error
static const b = 0; // ok
A()
{
static int c = 0; // constructor , okay
}
};
复制代码
作者:
中国可爱小牛
时间:
2010-03-18 22:56
回复
2#
eookoo
没有报错,不信你可以试试
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2