C++におけるクラスメンバー変数の初期化問題
2282 ワード
C++11以降は非静的メンバー変数の初期化(in-class initialization)が許可されるが、非fundamental(非基本データ)タイプではinitializer_listを用いて実現する必要がある
次のコードは間違っています.
次のように変更すると正しいです.
または、
次のコードは間違っています.
class A{
public:
int x=1;
string s="qweqetfqw";
vector<int>p(1,0);// ,vector ,
};
次のように変更すると正しいです.
class A{
public:
int x=1;
string s="qweqetfqw";
vector<int> p{0};//
};
または、
class A{
public:
int x=1;
string s="qweqetfqw";
vector<int> p={0};//
};