STL vector, szablony, vector< klasa<T> >::iterator, błąd kompilacji

0

Witam,

mam za zadanie napisać szablon dla grafu. Mam problem, gdyż potrzebuję iteratora na wektor węzłów w grafie, ale wektor ten przechowuje elementy Node<typWęzła>, czego nie chce przepuścić kompilator.

Konkretnie:

template<class edgeType, class nodeType>
void graph<edgeType, nodeType>::addNode(int _nodeID, nodeType _nodeValue) throw (const char*)
{
        vector< Node<nodeType> >::const_iterator nodeIter = nodes.begin(); // TU JEST BŁĄD !!
        
        
        Node<nodeType> newNode;

        newNode.nodeID = _nodeID;
        newNode.value = _nodeValue;

        nodes.push_back(newNode);
}

Przy kompilowaniu dostaję:

[...]graph.cpp|12|error: expected ';' before 'nodeIter'

Szablon klas graph i node:

template<class edgeType, class nodeType>
class graph {
vector< Node<nodeType> > nodes;
...
};

template<class nodeType>
class Node {...};

Jest jakiś sposób, aby to obejść? Gdy np. wpisuję

vector< Node<int> >::const_iterator nodeIter;

to się kompiluje...

0
        typename vector< Node<nodeType> >::const_iterator nodeIter = nodes.begin();

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