矢量数组对象 - push_back()

时间:2014-06-07 15:52:53

标签: c++ vector

作为线程的名称说我在向量中添加元素时遇到问题...非常相似的构造工作完美(对象向量数组)

    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 &&' 

有什么想法吗?

1 个答案:

答案 0 :(得分: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
}

Live version.