回 帖 发 新 帖 刷新版面

主题:string的使用

用vc建立的控制台程序:
#include <iostream.h>
#include <string> 
using  std::string;
 
int main()
{
    string s; 
     cin>>s;
    cout<<s<<endl;
     
     return 0;
}
运行提示:D:\cpp\02\02.cpp(9) : 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::allocator<char> >' (or there is no acceptable conversion)
D:\cpp\02\02.cpp(10) : 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::allocator<char> >' (or there is no acceptable conversion)
请问怎么解决啊?加using namaspace std;using std::cin之类的也不能运行。谢谢

回复列表 (共3个回复)

沙发

错误提示的并不是没有命名空间,而是运算符不支持string输入输出。

板凳

char *s;
cin>>s;
cout<<s<<endl;
可以这样。

3 楼

cout和cin,endl都在命名空间std里面,所以要在cout,cin和endl前面加上std::或者在最前面加上using namespace std;

我来回复

您尚未登录,请登录后再回复。点此登录或注册