假设class X具有构造函数X(int a, int b)
我创建一个指向X的指针,作为X *ptr;来动态地为类分配内存。
现在要创建X类对象的数组
ptr = new X[sizeOfArray];到现在为止一切都很好。但是我想要做的是创建上面的对象数组,应该调用构造函数X(int a, int b)。我试了如下:
ptr = new X(1,2)[sizeOfArray]; 正如预期的那样,它给了我编译时的错误。
错误:预期的';‘在’之前'[‘令牌\\’
如何创建一个对象数组来调用构造函数?
用户在运行时输入SizeOfArray。
编辑:,我想要达到的,在不可能的回答,天顶,或将是太复杂。那么,我如何使用std::vector来实现相同的功能呢?
发布于 2015-10-22 15:34:09
您不会说sizeOfArray是变量还是常量。如果它是一个(小)常量,您可以在C++11中这样做:
X* ptr = new X[3] { {1,2}, {1,2}, {1,2} };https://stackoverflow.com/questions/33283664
复制相似问题