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

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

#include 

std::string str;

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

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

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

#include 

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

你可能感兴趣的:(C++基础)