我正在尝试创建二维std::vector,它将包含我继承的这个类的对象。我遇到的问题是这个类只有一个构造函数,它使用一个参数(准确地说是std::string)。
#define HEIGHT 4
#define WIDTH 4
#include <vector>
using std::vector;
static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH));这应该会在我的向量中创建4x4的收割者对象矩阵。至少我知道,如果我有一个没有可用参数的构造器,它将会工作。
但是,这是我实例化Reaper对象的方式:
Reaper r0("R0");
Reaper* r1 = new Reaper("R1");现在,我不知道如何将这个构造函数包含到我的向量构造中?
发布于 2019-03-22 21:26:37
您可以使用vector(size_t n, const T& t)构造函数将reaper的内部向量初始化为某个初始常量,例如
static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH, Reaper("value")));你似乎只对外部向量使用了一次-你也可以对内部向量使用它。
或者,您可以创建指向reapers的指针的2D向量。
https://stackoverflow.com/questions/55300465
复制相似问题