我写了一个类,类似于这样(仅供演示):
class cls{
public:
cls(int a):value(a){}
private:
int value;
};
我想动态创建一个数组,每个元素都初始化为特定的值,比如2:
cls *arr = new cls[N](2);
但是g++报告了“error: parenthesized initializer in array new”的错误。
我在互联网上搜索,但只发现类似于基本类型(如int
和double
)的问题,并且答案是否定的。
假设这个类必须被初始化,怎么解决这个问题?难道我必须放弃构造函数吗?