Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154

    [C++] Problemi in compilazione progetto

    Ciao a tutti.
    Probabilmente, anzi sicuramente, il mio è un problema da neofita del C++... quindi vi chiedo in anticipo di non spararmi per la mia domanda

    Sto provando a creare un semplice progetto di Console in C++ (con DevCPP) composto da tre file: Carta.h, Carta.cpp e main.cpp.

    Vi riporto poco e semplice codice.

    Carta.h:
    <code>
    class Carta{
    int numero;

    public:
    Carta(int num);
    void stampaCarta();
    };
    </code>

    Carta.cpp:
    <code>
    #include "Carta.h"
    #include <iostream>

    using namespace std;

    Carta(int num){
    numero = num;
    }

    void Carta::stampaCarta(){
    cout << "Numero: " << numero << endl;
    }
    </code>

    main.cpp:
    <code>
    #include <cstdlib>
    #include <iostream>
    #include "Carta.h"

    using namespace std;

    int main()
    {
    Carta carta1;
    Carta carta2;

    carta1.Carta(5);
    carta2.Carta(7);

    carta1.stampaCarta();
    carta2.stampaCarta();

    system("PAUSE");
    return EXIT_SUCCESS;
    }
    </code>

    e questo è l'errore in compilazione:
    <code>
    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected unqualified-id before "using"
    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected `,' or `;' before "using"
    C:\Dev-Cpp\My Projects\Prova2\main.cpp In function `int main()':
    9 C:\Dev-Cpp\My Projects\Prova2\main.cpp no matching function for call to `Carta::Carta()'
    note C:\Dev-Cpp\My Projects\Prova2\Carta.h:1 candidates are: Carta::Carta(const Carta&)
    note C:\Dev-Cpp\My Projects\Prova2\Carta.h:1 Carta::Carta(int)
    10 C:\Dev-Cpp\My Projects\Prova2\main.cpp no matching function for call to `Carta::Carta()'
    note C:\Dev-Cpp\My Projects\Prova2\Carta.h:1 candidates are: Carta::Carta(const Carta&)
    note C:\Dev-Cpp\My Projects\Prova2\Carta.h:1 Carta::Carta(int)
    12 C:\Dev-Cpp\My Projects\Prova2\main.cpp invalid use of `class Carta'
    13 C:\Dev-Cpp\My Projects\Prova2\main.cpp invalid use of `class Carta'
    C:\Dev-Cpp\My Projects\Prova2\Makefile.win [Build Error] [main.o] Error 1
    </code>

    Qualcuno può illuminarmi?
    Thx

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C++] Problemi in compilazione progetto

    Alcune correzioni ...

    In carta.cpp deve essere

    codice:
    Carta::Carta(int num){  // indicare il nome della classe per il costruttore
    In main.cpp deve essere

    codice:
    	Carta carta1(5);  // non esiste un costruttore di default ... 
                                        // usare quello con un parametro
    	Carta carta2(7);  // non esiste un costruttore di default ... 
                                        // usare quello con un parametro
    	
    	//carta1.Carta(5);  // eliminare
    	//carta2.Carta(7); // eliminare
    P.S. I tag del codice sono tra parentesi quadre e non angolari ...

  3. #3
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Ah ecco cos'era, ma abituato a Java non l'avrei mai capito

    Ho comunque ancora un errore dato dall' USING NAMASPACE.

    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected unqualified-id before "using"
    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected `,' or `;' before "using"
    C:\Dev-Cpp\My Projects\Prova2\Makefile.win [Build Error] [main.o] Error 1

    ps: sono cambiati i tag per il codice?

  4. #4
    In fondo alla dichiarazione della classe contenuta in carta.h devi inserire un punto e virgola.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Ne serve un altro?

  6. #6
    Ops... ho letto male io. Scusa.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Alcott
    Ah ecco cos'era, ma abituato a Java non l'avrei mai capito

    Ho comunque ancora un errore dato dall' USING NAMASPACE.

    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected unqualified-id before "using"
    5 C:\Dev-Cpp\My Projects\Prova2\main.cpp expected `,' or `;' before "using"
    C:\Dev-Cpp\My Projects\Prova2\Makefile.win [Build Error] [main.o] Error 1

    ps: sono cambiati i tag per il codice?
    Con le correzioni che ti ho suggerito, non ho piu' errori di compilazione ...

  8. #8
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Ho provato a creare un nuovo progetto e (semplicemente facendo il copia/incolla apportando le modifiche che mi hai indicato) ora va...

    Chissà cosa avrà combinato il compilatore

    Grazie a tutti per l'aiuto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.