コンストラクターを使用せずに、クラス内のメンバー変数 (静的 const 以外) を直接初期化できないことを知っています。
しかし、この背後にある理由が何であるかを知りたかっただけです。以下はコードスニペットです
誰かが助けてくれるなら
class a
{
int c=5;
// giving error error C2864: 'a::c' : only static const integral data members can be
// initialized within a class
int b;
public:
a():c(1),b(2){}
void h()
{
printf("%d,%d",c,b);
}
};
int main()
{
a l;
l.h();
getchar();
}