Przekazanie elementu wektora do funkcji

0

Witam
Mam dwie klasy, Klasa1 i Klasa2, z której Klasa1 ma metody typu Klasa2:

Class Node {

};

Class Edge { 
   Node* node1;
   Node* node2;
public:
   void setNodes(Node *a, Node *b); //nie wiem czy dobre argumenty
}

Oraz wektor nodes, który ma np 4 elementy:

vector<Node*> nodes;
//dodanie 4 elementów

Chciałbym przekazać do funkcji setNodes 2 elementy wektora nodes:

Edge *newEdge;
newEdge = new Edge;
newEdge -> setNodes(nodes[0], nodes[1]);

Próbowałem na różne sposoby, lecz kompilator zawsze zgłasza błędy.
Wektor jest wektorem elementów klasy Node, czy nodes[0] jest typu Node ?
Nie wiem jak sprawdza się typy w c++ ale mniemam, że nodes[0] jest typu vector ale *nodes[0] powinno być już typu Node, lecz to również nie działa.
Bardzo proszę o pomoc.
Pozdrawiam

1
class Edge {  // class z malej litery.
   Node *node1,*node2;
public:
   Edge(Node *node1,Node *node2):node1(node1),node2(node2) {}
}; // BRAKUJE ŚREDNIKA

Edge *newEdge2=new Edge(nodes[0],nodes[1]);
0

Dziękuję, działa, lecz nie do końca rozumiem różnicy. Nie rozumiem dlaczego przez konstruktor, który wymaga w zasadzie tych samych argumentów co funkcja działa a funkcja nie :)

1

Bo nie napisałeś tej funkcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1