试图>>
在本地类中重载输入运算符。我试图在friend istream &operator >>
里面定义class Data
。
int readFile(char* file_name,float temperature_data[][31])
{
class Data
{
public:
int day,month,year;
float temp;
friend istream & operator >> (istream &in, Data &c)
{
char ch;
in >> c.day;
in >> ch;
in >> c.month;
in >> ch;
in >> c.year;
in >> ch;
in >> c.temp;
return in;
}
};
freopen(file_name,"r",stdin);
int i;
Data d;
for(i=0;;i++)
{
int total=0;
char ch;
cin>>d;
temperature_data[d.month-1][d.day-1] = d.temp;
ch = getchar();
if(ch==EOF)
break;
}
fclose(stdin);
return d.year;
}
它显示错误:
error: can't define friend function 'operator>>' in a local class definition