VS2015中cout输出string时报错

在VS2015中,有如下代码

string a = "123";

cout << a;

此时,在“<<”下有红色的曲线显示错误,给出的错误提示为“没有与这些操作数匹配的“<<”操作符,操作数类型为:std::ostream<<std::string。”

1 string类

string类是C++的标准库类型,表示可变长的字符序列。作为标准库的一部分,string定义在命名空间std中。string类与char*比较起来,不必担心内存是否足够、字符串长度等问题,因此,使用string类比char*更安全。

2 头文件string与string.h

《C++中带.h与不带.h的头文件》中提到,标准化后的C++头文件都不包含后缀名,例如iostream.h是标准化前的头文件,其对应的标准化后的文件为iostream。但是头文件string与头文件string.h却不是这种标准化前后的对应关系。string.h头文件是C语言的头文件,包含了基于char*的字符串处理函数,而string头文件是C++头文件,在该头文件中定义了string类。

string类是在头文件string中定义。因此,在使用string类时,必须包含该头文件。所以,当使用cout输出string类的对象报错的主要原因就是程序中没有包含头文件string。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值