文件I/0函数需要什么类型的参数?
问题描述:
嘿,我正在用C++写一个游戏,我不明白保存功能需要什么类型的参数。我以为你会使用参数的文件名,但我只是得到一个错误。文件I/0函数需要什么类型的参数?
4智能感知:类型的引用 “的std :: ofstream的&”(未常量限定)不能>使用类型的值初始化 “常量 炭[9]” C:\用户\康纳\文档\学院\ C++编程 \被困\被困\ MainApp.cpp 13 13放逐
void MenuText::print()
{
cout<< "Story= " << mText<< endl;
cout<< endl;
}
void MenuText::save(ofstream& outFile)
{
outFile<< "Story = " << mText<< endl;
outFile<< endl;
}
void MenuText::load(ifstream& inFile)
{
string garbage;
inFile>> garbage >> mText;
}
谁能帮助我理解它采取什么样类型的参数?
答
看来,您所呼叫的save
功能与文字字符串(文件名我想该错误消息)。您应该用现有的ofstream
来代替它。
喜欢的东西
MenuText menuText;
std::ofstream output("some file name");
menuText.save(output);
+1
留下_why_'save'的问题需要'ofstream',而不是任何'ostream'。看起来像是一个糟糕的设计案例。 –
答
std :: ofstream &是对输出流的引用。所以,你需要使用ofstream(输出文件流)来传递:http://www.cplusplus.com/reference/iostream/ofstream/
当库处理,咨询您所使用的函数的文档是第一步。 – Shahbaz
你可以在这里添加你的代码吗?最有可能的是你传递文件的名称,其中的流引用是预期的。你可以尝试传递_std :: ofstream(“yourfilename”)_。 – bobah
我忘了添加现在添加的功能代码。 – Pendo826