int digraph::numPathsAux(node currentNode, int dest) { vector::iterator i; int totalPaths = 0; currentNode.setVisited(true); for(i = currentNode.adjacentNodes.begin(); i != currentNode.adjacentNodes.end(); i++) { if(i->getVisited()) { currentNode.setVisited(false); return -1; } if(!i->getVisited()) { //cout << currentNode.getKey() << " " << dest << " " <getKey() << endl; if(i->getKey() == dest) { totalPaths++; } else { totalPaths += numPaths(i->getKey(), dest); } } } return totalPaths; }