我试图打开一个输入和输出文件通过传递给一个函数的指针引用,但每次我尝试编译该程序时出现错误:“左'.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