gpt4 book ai didi

c++ - 大小未知的数组作为类成员,用于在运行时制作数组对象(对象创建时间)

转载 作者:行者123 更新时间:2023-12-02 11:11:52 26 4
gpt4 key购买 nike

我想构造一个其大小未知的数组的类,
我想制作数组对象,其大小将在创建对象时(运行时)初始化

class array_class{
public:
int size_of_array;
int arr[size_of_array];
array_class(int p_size_of_array){ //constructor
this->size_of_array=p_size_of_array;
}
};

它说的是无效使用非静态数据成员的错误,我在做什么错(我应该知道什么)?

最佳答案

I want to construct a class of an array whose size is not known

(what should i have known)?


您应该已经知道这在C++中是不可能的。所有类的大小都是编译时间常数。

i want to make objects of array whose size would be initialized at the time when i would create an object(runtime)


您需要动态分配数组。
一个简单的解决方案:
struct array_class {
std::vector<int> arr;
array_class(int p_size_of_array) : arr(p_size_of_array) {}
};

关于c++ - 大小未知的数组作为类成员,用于在运行时制作数组对象(对象创建时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57453167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com