在此处查看文档http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
“具有静态存储持续时间 (3.7.1) 或线程存储持续时间 (3.7.2) 的变量应在任何其他初始化发生之前进行零初始化 (8.5)”</p>
如果我在一个文件中拥有所有东西,即类声明和 main()(必须),我应该能够省略初始化。但是,如果我省略,我会在构建过程中收到“未定义的引用”错误。
#include <iostream>
using namespace std;
class foo
{
public:
static int array[2];
};
int foo::array[2] = {0}; //I should be able to omit this line
int main()
{
cout << "foo::array[0] = " << foo::array[0] << endl;
return 0;
}
PS:没有 C++11