class c{};
c *ar[2];
ar = {new c, new c}; //error“数组类型不可赋值”声明后如何赋值,我想这么做是因为类使用了这个变量,所以我只想声明它,创建一个类,然后赋值,我不能在类之前赋值,因为它不能在没有定义类的情况下生成new c。
发布于 2017-07-20 20:46:45
使用标准库算法generate
#include <algorithm>
#include <iterator>
class c{};
c* ar[2];
std::generate(std::begin(ar), std::end(ar), [] { return new c; });发布于 2017-07-20 20:28:28
使用循环:
for(auto i = std::begin(ar);i!=std::end(ar);++i)
*i = new c;这将适用于(几乎)所有容器类,而不仅仅是原始数组。
https://stackoverflow.com/questions/45214397
复制相似问题