类中vector的初始化 参考链接
错误:
我想在类XXX中创建一个10个元素的vector A,初始值为0:
class XXX{
public:
vector<int> A(10, 0);
......
}
报错expected identifier before numeric constant
,意为:数字常量前应有标识符
原因:
编译器无法区分该语句是成员变量声明还是成员函数声明
编译器认为, 你正在定义一个成员函数,函数名为A ,返回值类型为 vector ,函数有两个输入参数(10, 0), 但是参数的给定方式有错误。
修改:
class XXX{
public:
vector<int> A = vector<int> (10, 0);
......
}
我们不能使用带括号的初始化器作为std::vector<double> pressure{4,0};
,因为它会初始化包含2个元素的值为4
和0
的vector
,这不是你想要的。