我試圖打開一個輸入和輸出文件通過傳遞給一個函數的指針引用,但每次我嘗試編譯該程序時出現錯誤:「左'.open'必須有一個類/結構/聯合有人可以幫忙看一下有什麼不對的代碼呢?左邊。必須有類/結構/聯合C++錯誤
#include <fstream>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cctype>
using namespace std;
void PrepareFiles(ifstream* fin, ofstream* fout);
int main(){
ifstream fin;
ofstream fout;
PrepareFiles(&fin, &fout);
fin.close();
fout.close();
return EXIT_SUCCESS;
}
void PrepareFiles(ifstream* fin, ofstream* fout)
{
char inputFilename[MAX_LENGTH_FN + 1],
outputFilename[MAX_LENGTH_FN + 1];
cout << "Input filename (up to " << MAX_LENGTH_FN << " characters): ";
cin.get(inputFilename, MAX_LENGTH_FN + 1, '\n');
cin.ignore(999, '\n');
cout << "Output filename (up to " << MAX_LENGTH_FN << " characters): ";
cin.get(outputFilename, MAX_LENGTH_FN + 1, '\n');
cin.ignore(999, '\n');
*fin.open(inputFilename, ios::in);
if (*fin.fail())
{
cerr << "Error opening input file " << inputFilename;
exit(EXIT_FAILURE);
}
*fout.open(outputFilename, ios::out);
if (*fout.fail())
{
cerr << "Error opening output file " << outputFilename;
exit(EXIT_FAILURE);
}
}
既可以做'(* fin).',或者甚至更具代表性,'fin->' – Cornstalks 2014-09-20 20:01:39