Ciao a tutti!! Vi posto il codice sorgente e vi descrivo l'errore che il compilatore, visual studio2010, mi fornisce.
class CMyImage{
private:
int Im[16386];
public:
CMyImage();
void ReadData(string nomefile);
void WriteData(char *nomefile);
void AggiungiRighe(int num);
void Set(int x, int y, int num);
int Get(int x, int y);
};
#include<iostream>
#include<fstream>
#include<string>
#include "CMyImage.h"
using namespace std;
CMyImage::CMyImage(){
for(int i=0; i<16386; i++){
Im[i]=0;}
}
void CMyImage::ReadData(string nomefile){
ifstream infile(nomefile);
if(!infile)
cerr<<"errore apertura file di input"<<endl;
for(int i=0; i<16388; i++){
infile>>Im[i];
}
cout<<"Formato"<<Im[0]<<endl;
cout<<"Numero di righe"<<Im[1]<<endl<<"Numero di colonne"<<Im[2]<<endl;
cout<<"Massimo valore di grigio"<<Im[3]<<endl;
cout<<"Immagine"<<endl;
for(int i=4; i<16388; i++){
cout<<Im[i];
}
infile.close();
}
#include<iostream>
#include<fstream>
#include<string>
#include "CMyImage.h"
using namespace std;
int main(){
string nomefile="eye.pgm";
CMyImage ob;
ob.ReadData(nomefile);
system("PAUSE");
}
Il compilatore mi fornisce i seguenti errori:
error C2061: syntax error : identifier 'string'
error C2511: 'void CMyImage::ReadData(std::string)' : overloaded member function not found in 'CMyImage'
error C2660: 'CMyImage::ReadData' : function does not take 1 arguments
Non capisco assolutamente il perche del secondo e il terzo. La funzione ReadData non è overloaded, e prende in ingresso un argomento. E sul primo errore non ho idea da dove possa venire.
Vi ringrazio in anticipo per l'aiuto
Ciao
Alessio