
C++ (pointry)
Zdravím,
Už zase jsem se zamotal do pointrů v c++. Potřeboval bych poradit, jak by šel udělat vektor, který obsahuje nějaké uzly. Potom vytáhnu ukazatel na uzel ve vektoru a přiřadím jej jiném objektu.
Příklad:
vector<Node> vNode = vector<Node>(0);
Game game = Game(s,&Coord(r-1,p-1));
Node n = Node(game);
vNode.push_back(n);
addGames(vNode[0].getGame().dalsiTah(),&vNode,&vNo de[0]);
...
int addGames(vector<vector<Game> > game, vector<Node>* tr,Node* parent)
{
tr->push_back(Node(game[i][j],parent));
return 0;
}
objekt Node by si potom měl držet v privátní proměnné ukazatel na parent. Avšak tomu tak není :(. Když jsem metodu addgames volal
addGames(vNode[0].getGame().dalsiTah(),&vNode,&n); // už ne přes vector, ale přímo ukazatel na Node (poslední parametr)
tak vše fungovalo podle očekávání. Vzhledem k tomu, že Nodeů mám velké množství, navíc se generují při běhu, tak nemůžu problém obejít podle 2. postupu. Potřebuji to udělat nějak přes ten vector nebo tomu podobně.Díky za radu
Petr