我需要编写一个从ifstream或cin中读取的程序,具体取决于运行时传递给程序的参数。在C++中声明泛型istream
我打算做好以下工作:
istream in;
if(argv[1] == "cin")
{
in = cin;
}
else
{
ifStream inFile;
inFile.open(argv[1].c_str());
in = inFile;
}
然而,在的IStream保护,我不能宣布在istream对象是否有申报在流,通用的方式?
好吧,我试过了,但是下面的代码产生以下错误: CODE: 而(* in.good()){ 弦线; getline(* in,line); cout << line; } 错误: 对'in'中的成员'good'的请求,它是非类类型的'std :: istream *' – finiteloop 2010-02-07 23:15:09
使用'(* in).good'或'in-> good'。只需坐下来熟悉C++语法即可。你会节省很多时间:) – 2010-02-07 23:17:46
哦,好的。谢谢您的帮助。我只是没有想好。 – finiteloop 2010-02-07 23:19:15