Ten en cuenta que el código no he podido probarlo y que intenta ser una guía.
Así, por ejemplo, si analizas el código ves que la inicialización de rectangulo es un poco rara:
Básicamente es un vector de elementos de tipo DatoDistancias pero yo le paso un punto. Quizás sería más conveniente escribir
Pero debería funcionar porque el constructor de DatoDistancias no se ha definido como "explicit", aún así lo dicho, donde estoy ahora mismo no puedo probar códigos y lo he hecho de cabeza.
Así, por ejemplo, si analizas el código ves que la inicialización de rectangulo es un poco rara:
Código (cpp) [Seleccionar]
class DatoDistancias
{
public:
double distancia;
Punto punto;
DatoDistancias( const Punto& pt )
: distancia( 1e9 ), punto( pt )
{ }
};
// ...
std::vector< DatoDistancias > rectangulo;
rectangulo.push_back( Punto( -6.7071067, 0.7071067 ) );
Básicamente es un vector de elementos de tipo DatoDistancias pero yo le paso un punto. Quizás sería más conveniente escribir
Código (cpp) [Seleccionar]
rectangulo.push_back( DatoDistancias( Punto( -6.7071067, 0.7071067 ) ) );
Pero debería funcionar porque el constructor de DatoDistancias no se ha definido como "explicit", aún así lo dicho, donde estoy ahora mismo no puedo probar códigos y lo he hecho de cabeza.