文件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; 
} 

谁能帮助我理解它采取什么样类型的参数?

+0

当库处理,咨询您所使用的函数的文档是第一步。 – Shahbaz

+2

你可以在这里添加你的代码吗?最有可能的是你传递文件的名称,其中的流引用是预期的。你可以尝试传递_std :: ofstream(“yourfilename”)_。 – bobah

+0

我忘了添加现在添加的功能代码。 – Pendo826

看来,您所呼叫的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/