C++编译错误no operator defined which takes a right-hand operand of type 'class std::basic_string

出现这个错误,求解释,代码在下面no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no acceptable
conversion)

#include <iostream.h>

#include <string>
int main()
{
using std:: string;
string word;
while(cin>>word)
cout<<word<<endl;
return 0 ;
}

说明是字符串不能用这个输入符号。另外这句没有明白是什么意思using std:: string;如果是想命名空间也不是这样,更何况,string是属于C++的关键字,不能用,应该是:using namespace std;吧
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-28
#include <iostream> // 不要加.h
#include <string>
int main()
{
using std::string;
using std::cin;// 如果不想用using namespace std,那么每个名字都要using
using std::cout;
using std::endl;

string word;
while(std::cin>>word)
std::cout<<word<<endl;
return 0 ;
}本回答被提问者和网友采纳
第2个回答  2012-03-27
去掉<iostream.h>中的h

...for member `a' in `b', which is of non-cla
1、首先在编译过程中,偶尔会遇到“c++: internal compiler error: Killed (program cc1plus)”错误,这是内存不足造成的。2、首先输入命令创建交换分区:dd if=\/dev\/zero of=\/swapfile bs=1k count=2048000,count后面的数值意思是交换分区的大小为2G。3、建立好之后,需要让系统知道它是交换分区,...

C++中,complex重载输入输出操作符 error C2248: 'real' : cannot a...
friend ostream& operator>>(ostream& os,const complex &c);ostream& operator >>( ostream &os,const complex c)\/\/少了一个&

...for member `a' in `b', which is of non-cla
1、首先在编译过程中,偶尔会遇到“c++: internal compiler error: Killed (program cc1plus)”错误,这是内存不足造成的。2、首先输入命令创建交换分区:dd if=\/dev\/zero of=\/swapfile bs=1k count=2048000,count后面的数值意思是交换分区的大小为2G。3、建立好之后,需要让系统知道它是交换分区,...

相似回答