Código C++:
Ver originalbool siEstaEnBlock(vector<int>& v, int i);
bool siEstaEnBlock(vector<int>& v, int i){
Las funciones únicamente hay que declararlas si las mismas son llamadas en algún punto anterior a su implementación. Si no se da el caso la declaración sobra:
Código C++:
Ver originalvoid funcOk1(); // Declaracion
void funcOk2() // No hay declaración
{ return; }
int main()
{
funcOk1(); // Compila porque la declaración se encuentra antes que esta línea
funcOk2(); // Compila porque la implementación se encuentra antes que esta línea
funcNoOk(); // Llegados a este punto el compilador no encuentra ni declaración ni compilación -> ERROR
}
void funcOk1()
{ return; }
void funcNoOk()
{ return; }
Si una declaración sobra lo mejor es eliminarla porque no va a aportar absolutamente nada salvo problemas ¿Qué clase de problemas? Bueno, imagínate que cambias la firma de la función y te olvidas de actualizar la declaración... empezarás a recibir errores al linkar el código que te pueden hacer perder bastante tiempo... eso si no da la mala suerte que hay otra función exactamente igual en otro sitio y acabas llamando a la misma... que se puede dar el caso.
Código C++:
Ver originalvector<int>::iterator itSigue;
while (vStack.empty() == false){ //recorre una componente
itSigue = nextVecino(vit.back(), Vertex[vStack.back() - 1].get_adjaList(), itNULL);
...
}
¿Ese código no es equivalente a este otro?
Código C++:
Ver originalauto itSigue = Vertex[vStack.back() - 1].get_adjaList();
while (vStack.empty() == false){ //recorre una componente
...
++itSigue;
}
Otra equivalencia:
Código C++:
Ver originalbool siEstaEnBlock(vector<int>& v, int i){
vector<int>::iterator it = v.begin();
for (; it != v.end(); it++) {
if (i == *it) return true;
}
return false;
}
bool siEstaEnBlock(const vector<int>& v, int i)
{
auto it = std::find(v.begin(),v.end(),i);
return it != v.end();
}
Por otro lado... ¿Por qué pones toda la implementación de la clase en la cabecera?? Parece una chorrada pero las implementaciones no deberían ir en la cabecera salvo casos muy puntuales... si en algun momento trabajas con proyectos más grandes verás la diferencia en los tiempos de compilación y en el mantenimiento.
Un saludo