Ho fatto questa semplice prova
codice:
//main.cpp
#include "stdafx.h"
#include "classe.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
classe cla;
cla.metodo();
cin.get();
cin.get();
return 0;
}
codice:
//classe.cpp
#include "stdafx.h"
#include "classe.h"
#include <iostream>
using namespace std;
void classe::metodo () {
cin >> a;
cin >> b;
somma = a + b;
cout << somma;
}
codice:
//classe.h
class classe {
public:
int a;
int b;
int somma;
void metodo();
}
Mi dà questi errori:
1>------ Inizio compilazione: Progetto: main, Configurazione: Debug Win32 ------
1> main.cpp
1>c:\program files\microsoft visual studio 10.0\vc\include\yvals.h(535): error C2143: errore di sintassi: ';' mancante prima di 'namespace'
1> classe.cpp
1>c:\program files\microsoft visual studio 10.0\vc\include\yvals.h(535): error C2143: errore di sintassi: ';' mancante prima di 'namespace'
1> Generazione del codice in corso...
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
Il punto è che io non ho incluso il file yvals.h, oltre al fatto che non lo posso modificare perchè è una libreria standard. Però ho notato che se non includo la libreria iostream non mi dà problemi. coma mai?