Вектор массивов объектов - push_back ()

0

как название потока говорит, что у меня проблема с добавлением элементов к моему вектору... Очень похожая конструкция отлично работает (Array of Vectors of Objects)

    Game.h

    class Game: parent, stan
    {
    public:

        (...)
            struct lista_boardow

            {
             stan tabliczka[8][8];
            };


            std::vector<lista_boardow> _lista_boardow;
        (...)

static int AiMove(std::vector<lista_boardow>& vect, stan _b[][8]);

        (...)

И второе:

    Game.cpp

    (...)
int Game::AiMove(std::vector<lista_boardow>& vect, stan tym_board[][8])
{
    stan tabi[8][8];

    (...)

    vect.push_back(tabi); // ?????

    }
    (...)

Ошибка:

error C2664: 'void std::vector<_Ty>::push_back(_Ty &&)' : cannot convert parameter 1 from 'stan [8][8]' to 'Game::lista_boardow &&' 

Есть идеи?

  • 0
    Где декларация vect ?
  • 0
    std::vector<lista_boardow> _lista_boardow; должно быть лучше std::vector<std::vector<std::vector<stan>>> _lista_boardow; или std::vector<std::array<std::array<stan,8>,8>> _lista_boardow;
Показать ещё 3 комментария
Теги:
vector

1 ответ

1

Какая проблема у вас?

#include <iostream>
#include <vector>
using namespace std;

struct elem {
    int value;
    elem(int value) : value(value) {}
};

struct nih_array {
    elem data[2][2];
};

int main() {
    vector<nih_array> v;
    v.push_back({1, 2, 3, 4});
    cout << v[0].data[1][0].value << endl; // "3", no problem here
}

Живая версия.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню