Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47

    [c++] Bool

    Mi chiedevo se qualcuno mi potesse aiutare a capire cosa c'è di sbagliato:

    codice:
             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;     }
    Mi continua a dare questo errore:

    Definiton or redeclaration of "Confronta" not allowed inside a function.

    Grazie in anticipo per l'aiuto...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se posti tutto il codice in una linea, non si capisce nulla.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    codice:
        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;
        }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Mi sa che il problema non sta nel codice mostrato ma su dove l'hai inserito nel progetto globale.

    In pratica bisogna vedere *tutto* il codice ...


    P.S. Che c'entra il titolo "bool" con il problema che hai ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Definiton or redeclaration of "Confronta" not allowed inside a function.
    Stai evidentemente definendo una funzione all'interno di un'altra funzione
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    per non scrivere tutto il metodo...comunque no, è sbagliato qualcosa nella sintassi del metodo

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Per trovare l'errore dovresti scrivere più di tutto il metodo!
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da cipiupiu
    per non scrivere tutto il metodo...comunque no, è sbagliato qualcosa nella sintassi del metodo
    Se lo dici tu ...

    (a che serve scrivere in un forum se non si seguono i consigli che si ricevono?)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    codice:
    #include <iostream.h>
    #include "Luoghi.h"
    #include <string.h>
    #include <vector.h>
    
    using namespace std;
    
    
    
    class Itinerario
    {
    public:
        string nome;
        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;
    };
    
    
    
    class TestItinerario
    {
    public:
        int TestItinerario1();
        int TestItinerario2();
        int TestItinerario3();
        int TestItinerario4();
        
        void Esegui ()
        {
            cout << "Inizio Test" << endl;
            
            TestItinerario1();
            TestItinerario2();
            TestItinerario3();
            
            cout << "Fine test" << endl;
        };
        
    };
       
        
        
    
    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);
        
       
            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;
        }    
    
        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;
                }
            }
        }
    }

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Per il codice usa i tag CODE, come da regolamento, altrimenti non si capisce molto.

    Comunque, il metodo Confronta inizia nel mezzo del main (ecco l'errore) ..

    E in ogni caso, nella classe ContenitoreItinerari non esiste un membro Confronta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.