不,这是不可能的.标头中的数组声明必须具有恒定大小的值.否则,像“sizeof”这样的构造就不可能正常运行.您需要将数组声明为指针类型,并在构造
函数中使用new [].例.
class Test {
int *a;
public:
Test(int size) {
a = new int[size];
}
~test() { delete [] a; }
private:
Test(const Test& other);
Test& operator=(const Test& other);
};