【发布时间】:2010-01-24 08:35:51
【问题描述】:
我试图更好地掌握指针。我的课堂作业是为原型void OpenFile(const char *fileName, ifstream &inFile) 创建函数。
void OpenFile(const char *fileName, ifstream &inFile)
{
inFile.open(FILENAME, ios_base::in);
if (!inFile.is_open()) {
cerr << "Could not open file " << fileName << "\n";
exit(EXIT_FAILURE);
}
else {
cout << "File Open successful";
}
}
//FILENAME is defined as: const char * const FILENAME = "file.txt";
// function is called in main with: OpenFile(FILENAME, inFile);
我想我不明白的是 const char * 和两个参数的 &。我猜第一个参数是一个 const char *,因为这就是赋值定义 FILENAME 的方式。但是在这种情况下我必须使用指针吗?我可以做吗
const char FILENAME = "file.txt";
在我的 OpenFile 中,第一个参数只需要一个 const char。再说一遍,为什么我的函数的第二个参数需要引用?对何时使用指针以及何时使用引用绝对感到困惑。谢谢!
【问题讨论】: