我正在尝试创建二维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");
现在,我不知道如何在我的向量构造中包含此构造函数?
答案 0 :(得分:1)
您可以使用vector(size_t n, const T& t)
构造函数将reaper
的内部向量初始化为某个初始常量值,例如
static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH, Reaper("value")));
您似乎一次将其用于外部向量---您也可以将其用于内部向量。
或者,您可以创建指向reaper
的指针的二维向量。