Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    9

    Problema in programma C++ nella suddivisione in prototipo e funzione

    Ciao a tutti, sono nuovo del Forum ed anche della programmazione con DEV C++.
    Ho un problemino, ritengo molto stupido, nella suddivisione del main in prototipo e funzione.

    Ho inserito nel main.cpp l'include al prototipo ma ho errore in compilazione
    [Linker error] undefined reference to `Pari(int)'

    Sotto riportati i tre files.

    Dove sto sbagliando ?

    Grazie della collaborazione.

    codice:
    //main.cpp pariedispari
    #include <iostream>
    #include "header.h"
    using namespace std;
    int main()
    {
        int y;
        cout << "inserisci un numero: ";
        cin >> y;
        if (Pari(y))
            cout << y << " numero pari" << endl ;
        else
            cout << y << " numero dispari" << endl ;
        system ("PAUSE");
        return (0);
    }
    Ho inserito il prototipo nel file header.h
    codice:
    //header.h pariedispari prototipo
    bool Pari(int x);
    Ho inserito la funzione nel file funzione.cpp con l'include al prototipo che ho regolarmente compilato.
    codice:
    //funzione.cpp pariedispari funzione
    #include <iostream>
    #include "header.h"
    using namespace std;
    
    int main()
    {
    }
    
    bool Pari(int x)
    {
        if (x%2 == 0)
        return true;
        else
        return false;
    }
    Ultima modifica di MItaly; 13-02-2014 a 18:46 Motivo: Tag [CODE], indentazione

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    7
    Nel file funzione.cpp intanto togli main() { } ... solo una funzione main() può essere presente. L'entry point del programma può essere uno soltanto, pertanto non ha senso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    9
    Si ma se tolgo main() { } non lo compila più e da questo errore [Linker error] undefined reference to `WinMain@16'

    Forse funzione.cpp non va compilato ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    7
    Si che va compilato ma main() sa solo nel file main.cpp

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    9
    fork, grazie per l'aiuto.

    Ma se tolgo main() la compilazione da errore [Linker error] undefined reference to `WinMain@16'.
    Come faccio a compilarlo ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    7
    Posta tutto il codice

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    9
    Ciao a tutti, sono nuovo del Forum ed anche della programmazione con DEV C++.
    Ho un problemino, ritengo molto stupido, nella suddivisione del main in prototipo e funzione.

    Ho inserito nel main.cpp l'include al prototipo ma ho errore in compilazione
    [Linker error] undefined reference to `Pari(int)'

    Sotto riportati i tre files.

    Dove sto sbagliando ?

    Grazie della collaborazione.

    codice:
    //main.cpp pariedispari
    #include <iostream>
    #include "header.h"
    using namespace std;
    int main()
    {
        int y;
        cout << "inserisci un numero: ";
        cin >> y;
        if (Pari(y))
            cout << y << " numero pari" << endl ;
        else
            cout << y << " numero dispari" << endl ;
        system ("PAUSE");
        return (0);
    }
    Ho inserito il prototipo nel file header.h
    //header.h pariedispari prototipo
    bool Pari(int x);

    Ho inserito la funzione nel file funzione.cpp con l'include al prototipo che ho regolarmente compilato.
    codice:
    //funzione.cpp pariedispari funzione
    #include <iostream>
    #include "header.h"
    using namespace std;
    
    int main()
    {
    }
    
    bool Pari(int x)
    {
        if (x%2 == 0)
        return true;
        else
        return false;
    }
    Ultima modifica di MItaly; 13-02-2014 a 18:47 Motivo: Tag [CODE]

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel file funzione.cpp devi togliere la funzione int main (che c'è già nel main.cpp).

    I file vanno compilati tutti insicere in un progetto (o indicati tutti nella linea di comando al compilatore).

    Devi usare un progetto "Console" non "Windows GUI" ... (dipende da quale IDE/compilatore usi)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Nel file funzione.cpp devi togliere la funzione int main (che c'è già nel main.cpp).

    I file vanno compilati tutti insicere in un progetto (o indicati tutti nella linea di comando al compilatore).

    Devi usare un progetto "Console" non "Windows GUI" ... (dipende da quale IDE/compilatore usi)

    Sto usando DEV C++ ( devcpp-4.9.9.2_setup.exe ), non si può fare con questo compilatore ?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ok e cosa hai fatto esattamente per creare il tuo programma con il DEV?
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.