嗨,我是c++初学者,这是我的任务之一,我有点卡住了.这不是我的整个代码,它只是我需要帮助的一小部分.我要做的是有一个函数专门用于将该函数的所有内容导出到一个text名为results.txt 的文件中.因此,当我打开文件时,应该显示"执行此功能"这一行,但是当我运行该文件时,我会收到类似的错误
"错误C2065:'输出':未声明的标识符"
"错误C2275:'std :: ofstream':非法使用此类型作为表达式"
"IntelliSense:不允许输入类型名称"
"IntelliSense:标识符"out"未定义"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
//prototypes
void output(ofstream& out);
int main()
{
output(ofstream& out);
ifstream in;
in.open("inven.txt");
ofstream out;
out.open("results.txt");
return 0;
}
void output(ofstream& out)
{
out << "does this work?" << endl;
}
Run Code Online (Sandbox Code Playgroud)
现在已经很晚了,我只是在搞清楚我做错了什么.
首先,这很好:
void output(ofstream& out)
{
out << "does this work?" << endl;
}
Run Code Online (Sandbox Code Playgroud)
但是,这不是:
int main()
{
output(ofstream& out); // what is out?
ifstream in;
in.open("inven.txt");
ofstream out;
out.open("results.txt");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是你得到的第一个错误:"错误C2065:'out':未声明的标识符",因为编译器还不知道.
在第二个片段中,您希望使用特定的调用输出ostream&.您没有调用函数,而是给出了一个函数声明,在此上下文中不允许这样做.你必须用给定的ostream&名称来调用它:
int main()
{
ifstream in;
in.open("inven.txt");
ofstream out;
out.open("results.txt");
output(out); // note the missing ostream&
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您使用as参数调用 .outputout