在我的代码中,我想执行以下操作,即传递字符串的名称,该字符串成为我写入的fileName,当通过引用传递字符串名称时,我无法使用+运算符重载来追加* .txt到我的fileName,相同的代码如下所示:
void myFunction (string &fileName){
(1)
fileName += ".txt";
fstream file;
file.open(fileName, iostream::out);
}
VS2012 Intellisense在+ =处显示错误“没有运算符匹配这些操作数” 我尝试通过添加传递它,这意味着+ =运算符不能用于通过引用传递的字符串名称。至少这就是我的理解。
但是当我将fileName引用复制到另一个字符串并使用它时,它会生成一个没有名称的文件,即只有.txt文件。
string myName = fileName;
fileName += ".txt"; at (1)
生成的文件没有任何名称。知道我哪里出错了吗?