2 shuangbinbin shuangbinbin 于 2013.06.19 17:03 提问

C++ 新手求解。。。。。

//#include
#include

using namespace std;

#include

void main()
{
string str1 = "Eventually I stopped caring...";
string str2 = "but that was the '80s so nobody noticed.";

str1.append( str2, 25, 15 );
cout << "str1 is " << str1 << endl; 

}

F:\C text\t.cpp(13) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string,class std::allocator >' (or there is no acceptable conversion)
Error executing cl.exe.

4个回答

skatysky
skatysky   2013.06.19 21:43
已采纳

你这样写,需要加命名空间,在程序开头写using namespace std;
如果你不加这句,你要输出语句就得这么写:std::cout<<"str is"<<str1<<endl;

shuangbinbin
shuangbinbin 有写呀、
4 年多之前 回复
boyzxscn
boyzxscn   2013.06.25 09:59

用的编译器或者库的版本有点低吧,试试改成:
cout << string("str1 is ") << str1 << endl;

John_ToString
John_ToString   2015.12.05 16:15

cout << string("str1 is ") << str1 << endl;肯定可以

liuhannan111
liuhannan111   2017.07.19 12:09

需要包含#include 这个头文件吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!