VS2015中“ 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)”的处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hou09tian/article/details/82454958

C++标准库类型string表示可变长的字符序列。使用string类型必须首先包含string头文件。而在VS2015中,iostream头文件也包含了对string类型的声明。即

#include <iostream>

std::string str;

此时程序不会报错。但是如果在程序中使用输入输出流iostream对string类型进行输入输出操作时,程序就会报错,报错内容为“error C2679: 二进制“<<”: 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)”。

其原因在于iostream头文件中并没有重载与string类型相关的输入输出操作符,而该操作符的重载是在string头文件中实现的。

所以,在VS2015中使用string类型时,最好还是添加string头文件。

#include <string>

需要注意的是,此时添加的是string而不是string.h

猜你喜欢

转载自blog.csdn.net/hou09tian/article/details/82454958
今日推荐