C++类内不能用()在非函数内初始化

class MyClass
{
   vector<int> MyVector(1000,0);//error: expected identifier before numeric constant vector<int> MyVector(1000,0); 
}

在这里,vector<int> MyVector(1000,0);并不在一个函数里,因此报错。可以用另外的方法,例如花括号列表初始化

class MyClass
{
   vector<int> MyVector{vector<int>(1000,0)}
}

或者用复制初始化

class MyClass
{
   vector<int> MyVector = vector<int>(1000,0); 
}

以上在C++11环境下

猜你喜欢

转载自www.cnblogs.com/drunknbeard/p/12812216.html