【发布时间】:2011-05-24 05:45:21
【问题描述】:
我们是否应该在类定义之外定义一个static const 成员,即使它是在类内部初始化的?
#include<iostream>
using namespace std;
class abc
{
static const int period=5;
int arr[period];
public:
void display()
{
cout<<period<<endl;
}
};
const int abc::period;
int main()
{
abc a;
a.display();
return 0;
}
在评论// const int abc::period; 后,这两个版本的代码在 gcc 4.3.4 上运行良好。所以我想问一下为什么这两个版本都可以工作,哪个版本符合标准?
【问题讨论】: