Salve a tutti, ho bisogno di voi.
Ho scritto una classe GraphNode di cui ne riporto solo lo scorcio che presenta l'errore:
class GraphNode{
public:
...
...
private:
set< GraphNode,less<GraphNode> > parents;
...
};
Il compilatore dice che nel set utilizzo la classe GraphNode che non è definita (forse non riesce a vederla dall'interno). Sono andato su msdn2.microsoft.com ed ho trovato questo come possibile soluzione:
set< GraphNode*,less<GraphNode> > parents;
Il problema è risolto nell'header ma quando utilizzo i metodi di "set" ho il problema che non so più che tipo di parametro passare.
Per logica dovrei passargli un puntatore ma questo codice non funziona (dà problemi di casting):
void GraphNode::addParent(const GraphNode & gn){
const GraphNode* gnPtr=&gn;
parents.insert(gnPtr);
}
Qualcuno di voi sa dirmi come risolvere il problema?
Grazie tante.
![]()