c++ 类中vector的初始化报错:expected identifier before numeric constant (仅作个人纪录)

类中vector的初始化  参考链接

错误:  

我想在类XXX中创建一个10个元素的vector A,初始值为0:

class XXX{
public:
	vector A(10, 0);
......	
}

报错expected identifier before numeric constant,意为:数字常量前应有标识符

原因:

编译器无法区分该语句是成员变量声明还是成员函数声明

编译器认为, 你正在定义一个成员函数,函数名为A ,返回值类型为 vector ,函数有两个输入参数(10, 0), 但是参数的给定方式有错误。

修改:

class XXX{
public:
	vector A = vector (10, 0);
......	
}

我们不能使用带括号的初始化器作为std::vector pressure{4,0};,因为它会初始化包含2个元素的值为40vector,这不是你想要的。

你可能感兴趣的:(c++,c++,开发语言)