我需要編寫一個從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