visual studio 2008 不能编译 cout

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:35:14
本人刚学C++,也不知什么编译器好,就下载了一个visual studio 2008 想编一下简单的程序 如下
#include"stdafx.h"
#include <iostream>
#include<string.h>
using namespace std;
void main()
{
string a="hello";
cout<<a;
}
却出现了下面这么长的错误
正在编译...
winmile.cpp
e:\winmile\winmile\winmile\winmile.cpp(8) : error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
e:\vc\vc\include\ostream(653): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
e:\vc\vc\include\ostream(700): or 'std::basic_ostre

string类不支持'<<'输出到cout,要这么用
string a = "hello";
cout << a.c_str();

#include<string.h>
改成
#include<string>
vc净是弄一些非标准的东西,支持g++