#include <iostream.h>
#include <string.h>
#include <vector.h>
#include "Luoghi.h"
using namespace std;
class TestItinerario
{
public:
    int TestItinerario1();
    int TestItinerario2();
    int TestItinerario3();
    int TestItinerario4();
    
    void Esegui ()
    {
        cout << "Inizio Test" << endl;
        
        TestItinerario1();
        TestItinerario2();
        TestItinerario3();
        
        cout << "Fine test" << endl;
    };
    
};
class Itinerario
{
public:
    std::string nome;
    std::vector<Luogo> luoghi;
    
    Itinerario(string nome)
    {
        this->nome = nome;
    }
    
    void Add(double latitudine, double longitudine)
    {
        luoghi.push_back(Luogo(latitudine, longitudine));
    }
};
class ContenitoreItinerari
{
public:
    
    vector<Itinerario> itinerari;
    
    
    
};
bool ContenitoreItinerari :: Confronta ( Itinerario itinerario1, Itinerario itinerario2)
{
    for (vector<Luogo>::iterator it1 = itinerario1.luoghi.begin();
         it1 != itinerario1.luoghi.end(); ++it1)
    {
        Luogo luogo1 = *it1;
        for (vector<Luogo>::iterator it2 = itinerario2.luoghi.begin();
             it2 != itinerario2.luoghi.end(); ++it2)
        {
            Luogo luogo2 = *it2;
            if ((luogo1.latitudine == luogo2.latitudine) &&
                (luogo1.longitudine == luogo2.longitudine))
                return true;
        }
    }
    
    return false;
} 
int main()
{
    
    Itinerario itinerario1("Primo percorso");
    itinerario1.Add(100, 200);
    itinerario1.Add(230, 500);
    itinerario1.Add(20, 300);;
    
    Itinerario itinerario2("Secondo percorso");
    itinerario2.Add(100, 200);
    itinerario2.Add(230, 500);
    itinerario2.Add(20, 300);
    
    Itinerario itinerario3("Terzo percorso");
    itinerario3.Add(100, 200);
    itinerario3.Add(230, 500);
    itinerario3.Add(20, 300);
    
    Itinerario itinerario4("Quarto percorso");
    itinerario4.Add(100, 200);
    itinerario4.Add(230, 500);
    itinerario4.Add(20, 300);
    
    
   
        
    ContenitoreItinerari contenitore;
    contenitore.itinerari.push_back(itinerario1);
    contenitore.itinerari.push_back(itinerario2);
    contenitore.itinerari.push_back(itinerario3);
    contenitore.itinerari.push_back(itinerario4);
       
    
    
    cout << "Percorsi differenti:" << endl;
    vector<Itinerario> differenti;
    for (vector<Itinerario>::iterator it1 = contenitore.itinerari.begin(); it1 != contenitore.itinerari.end(); ++it1)
    {
        for (vector<Itinerario>::iterator it2 = contenitore.itinerari.begin(); it2 != contenitore.itinerari.end(); ++it2)
        {
            if ((it1 != it2) && (contenitore.Confronta(*it1, *it2) == false))
            {
                differenti.push_back(*it1);
                cout << it1->nome << endl;
            }
        }
    }
    
      
 
    
        
       
    return 0;
    
   
    
}
Mi da errore nel metodo confronta...