class c{};
c *ar[2];
ar = {new c, new c}; //error
“数组类型不可分配”
如何在声明之后分配它,我想这样做因为类正在使用该变量所以我只想声明它,创建一个类然后分配值,我不能在类之前分配因为它不能制作new c
而不先取消课程。
答案 0 :(得分:1)
使用标准库算法generate
:
#include <algorithm>
#include <iterator>
class c{};
c* ar[2];
std::generate(std::begin(ar), std::end(ar), [] { return new c; });
答案 1 :(得分:0)
使用循环:
for(auto i = std::begin(ar);i!=std::end(ar);++i)
*i = new c;
这将适用于(几乎)所有容器类,而不仅仅是原始数组。