标题:cstring 编译出错
取消只看楼主
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
已结贴  问题点数:20 回复次数:3 
cstring 编译出错
代码
#include <iostream>
#include <cstring>
//#include <string>
using namespace std;
string s;
int main()
{
  string s2;
  cout<<s<<endl;    //Err
  cout<<s2<<endl;  
  return 0;
}

编译的时候到Err处就会有提示
error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::a
llocator<char> >' (or there is no acceptable conversion)
但使用
#include <string>
时就能顺利通过 不知道原因
搜索更多相关主题的帖子: cstring 编译 
2010-01-09 11:08
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
得分:0 
这个即使你初始化也会出错的
2010-01-11 09:00
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
得分:0 
以下是引用dssz在2010-1-11 11:41:20的发言:

#include     //这个头文件

编译也一样有错误

string 没定义流符号cout<<输出
不是啊 用string就不会出错
2010-01-11 13:47
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
得分:0 
以下是引用dssz在2010-1-11 20:45:47的发言:


#include <cstring>  //这个等效于 #include <string.h> 旧格式的string 没定义cout<<
#include <string>    //新格式的头文件,定义了cout<<

其实新格式的string执行cout<<string时,实际是被重载了执行cout<<str ...
十分感谢你的回答 解释的太详细了
不过我在同一台机器上 不同工程中添加相同的代码却能正常运行
真是奇怪
2010-01-12 08:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-295333-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.935937 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved