efinição de const estática fora da definição de clas
Devemos definir umstatic const
membro fora da definição de classe, mesmo que seja inicializado dentro da class
#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;
}
Depois de comentar// const int abc::period;
, ambas as versões do código funcionam bem no gcc 4.3.4. Então, eu quero perguntar por que as duas versões funcionam e qual é compatível com o padrão?