C++标准库类型string表示可变长的字符序列。使用string类型必须首先包含string头文件。而在VS2015中,iostream头文件也包含了对string类型的声明。即
#include <iostream>
std::string str;
此时程序不会报错。但是如果在程序中使用输入输出流iostream对string类型进行输入输出操作时,程序就会报错,报错内容为“error C2679: 二进制“<<”: 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)”。
其原因在于iostream头文件中并没有重载与string类型相关的输入输出操作符,而该操作符的重载是在string头文件中实现的。
所以,在VS2015中使用string类型时,最好还是添加string头文件。