Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 向引用传递的字符串追加扩展名_C++_File_Visual Studio 2012 - Fatal编程技术网

C++ 向引用传递的字符串追加扩展名

C++ 向引用传递的字符串追加扩展名,c++,file,visual-studio-2012,C++,File,Visual Studio 2012,在我的代码中,我希望执行以下操作,即传递字符串的名称,该名称将成为我写入的文件名,当通过引用传递字符串名称时,我无法使用+运算符重载将*.txt附加到我的文件名,相同的代码如下所示: void myFunction (string &fileName){ (1) fileName += ".txt"; fstream file; file.open(fileName, iostream::out); } VS2012 Intellisense在+=处显示错误

在我的代码中,我希望执行以下操作,即传递字符串的名称,该名称将成为我写入的文件名,当通过引用传递字符串名称时,我无法使用+运算符重载将*.txt附加到我的文件名,相同的代码如下所示:

void myFunction (string &fileName){

   (1)
   fileName += ".txt";
   fstream file; 
   file.open(fileName, iostream::out);
}
VS2012 Intellisense在+=处显示错误,表示没有运算符与这些操作数匹配 我尝试通过add传递它,这意味着不能在通过引用传递的字符串名上使用+=运算符。至少我是这么理解的

但当我将文件名引用复制到另一个字符串并使用它时,它会生成一个没有名称的文件,即一个.txt文件

string myName = fileName; 
fileName += ".txt"; at (1)

生成的文件没有任何名称。你知道我哪里会出错吗?

请给出你得到的确切错误。至于文件没有名字,这是没有意义的。所有文件都有一个名称。无法创建没有名称的文件。您的意思可能是名称只是.txt,但在这种情况下,您发布的代码与您实际尝试的代码不匹配?看起来是智能感知问题,而不是代码问题。是否编译?在附加文件名后使用文件名时,它不会编译。TXT不要用自由散文描述代码和错误消息,请逐字引用它们。准确说明问题所在。没有示威,毫无疑问。