Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema funzione
Forum - C/C++ - problema funzione

Avatar
raidenxx89 (Normal User)
Newbie


Messaggi: 4
Iscritto: 27/05/2009

Segnala al moderatore
Postato alle 0:12
Martedì, 09/06/2009
Ciao,
uso Code::Blocks con compilatore GNU GCC Compiler in Windows XP

Ho 4 file:
FILE main.h

Codice sorgente - presumibilmente C/C++

  1. #include <iostream>
  2. #include <string>



FILE main.cpp

Codice sorgente - presumibilmente C++

  1. #include "main.h"
  2. #include "Funzioni.h"
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.     string Equazione;
  9.     string OldEquazione;
  10.  
  11.     cout << "Inserisci un equazione" << endl;
  12.     getline(cin, Equazione);
  13.     do
  14.     {
  15.         OldEquazione = Equazione;
  16.         Risolvi(Equazione);
  17.     }while (OldEquazione != Equazione);
  18.     cout << Equazione;
  19. }



FILE funzioni.h

Codice sorgente - presumibilmente C/C++

  1. void Risolvi(string&);



E FILE funzioni.cpp

Codice sorgente - presumibilmente C/C++

  1. #include "Funzioni.h"
  2.  
  3. void Risolvi(string &Str)
  4. {
  5.     Str = "ciao";
  6. }




Quando vado a compilare dà una serie di errori tipo:
-variable void or field 'Risolvi' declared void
-'string' was not declared in this scope
e altri errori

.. se invece sposto la funzione nel main.cpp
allora mi compila tranquillamente


Codice sorgente - presumibilmente C++

  1. #include "main.h"
  2. #include "Dato.h"
  3. #include "Funzioni.h"
  4.  
  5. using namespace std;
  6.  
  7. void Risolvi(string&);
  8.  
  9. int main(int argc, char *argv[])
  10. {
  11.     string Equazione;
  12.     string OldEquazione;
  13.  
  14.     cout << "Inserisci un equazione" << endl;
  15.     getline(cin, Equazione);
  16.     do
  17.     {
  18.         OldEquazione = Equazione;
  19.         Risolvi(Equazione);
  20.     }while (OldEquazione != Equazione);
  21.     cout << Equazione;
  22. }
  23.  
  24. void Risolvi(string &Str)
  25. {
  26.     Str = "ciao";
  27. }




Perchè non riesco a inserire le funzioni (con string) nei file funzione.h e funzione.cpp??
P.S.
Ho provato a mettere in funzioni.h "#include <string.h>" ma niente.. sempre i soliti errori

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 0:20
Martedì, 09/06/2009
Questo deve essere il file Funzioni.h

Codice sorgente - presumibilmente C++

  1. #include <string>
  2.  
  3. using namespace std;
  4.  
  5. void Risolvi(string&);


PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 0:21
Martedì, 09/06/2009
Perchè hai provato con #include <string.h>? Così utilizzi le stringhe del C.

Devi scrivere come nel main:
Codice sorgente - presumibilmente C/C++

  1. #include <string>
  2.  
  3. using namespace std;



edit:
@theprogrammer: oops, abbiamo risposto insieme.

Ultima modifica effettuata da manvb.net il 09/06/2009 alle 0:23
PM Quote
Avatar
raidenxx89 (Normal User)
Newbie


Messaggi: 4
Iscritto: 27/05/2009

Segnala al moderatore
Postato alle 13:47
Martedì, 09/06/2009
perfetto grazie mille

PM Quote