我用“Temperat.txt”调用代码,这是一个具有以下格式的文件:
-9.3 -15.1
-9.0 -14.1
..
..
temps也是一个结构:int max,min; //温度最终的矢量应该用于填充两个open_polylines并构造一个具有最大和最小温度的图形,但它会产生一个空窗口 - >因此它必须是要返回的矢量(vec)为空
istream& operator>>(istream& is, Temps& t){
//assume format (max----min)
string c1=" ";
Temps tt;
is >> t.max >> t.min;
//return is;}
t=tt;
return is;
}
vector<Temps> readTemp(string fileName){
ifstream temp_file{fileName};
Temps t;
vector<Temps> vec;
if(!temp_file){
error("Can't open ", fileName);
}
while(temp_file>>t){
cout<<t.max << t.min;
vec.push_back(t);
}
return vec;
}
这段代码错了
istream& operator>>(istream& is, Temps& t){
//assume format (max----min)
string c1=" ";
Temps tt;
is >> t.max >> t.min;
//return is;}
t=tt;
return is;
}
你将温度读入t
,然后用tt
覆盖它们。就这样做,没有必要tt
(或c1
)。
istream& operator>>(istream& is, Temps& t){
//assume format (max----min)
return is >> t.max >> t.min;
}