2D вектор с параметризованным конструктором - PullRequest
1 голос
/ 22 марта 2019

Я пытаюсь создать двухмерный std::vector, который будет содержать объекты этого класса, которые я унаследовал. У меня проблема в том, что этот класс имеет только один конструктор, и в нем используется один параметр (точнее, std::string).

#define HEIGHT 4
#define WIDTH 4 

#include <vector>
using std::vector;

static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH));

Это должно создать матрицу объектов Reaper 4x4 в моем векторе. По крайней мере, я знаю, что это сработало бы, если бы у меня был конструктор без доступных параметров.

Но вот как я могу создать Reaper объект:

Reaper r0("R0");
Reaper* r1 = new Reaper("R1");

Теперь я не могу понять, как включить этот конструктор в мою векторную конструкцию?

1 Ответ

1 голос
/ 22 марта 2019

Вы можете использовать конструктор vector(size_t n, const T& t) для инициализации внутреннего вектора reaper s некоторым начальным постоянным значением, таким как

static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH, Reaper("value")));

Вы, кажется, используете это один раз для внешнего вектора --- вы можете использовать его и для внутреннего вектора.

Кроме того, вы можете создать 2d-вектор указателей на reaper с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...