c++问题,为了使用string,我写入了#include<string> using namespace std; 但是cout出现红线说是不明确

百度了一下说是吧usingnamespacestd注释掉就行了,果然如此,cout是没报错了,但是string的红线出来了endl的红线也出来了,说是未定义,我很郁闷丫。... 百度了一下说是吧using namespace std注释掉就行了,果然如此,cout是没报错了,但是string的红线出来了endl的红线也出来了,说是未定义,我很郁闷丫。。接着添加一句:using std::endl;此时endl的红线消失,但是string的还是说未定义,吧之前的#include<string删除,又加入using std::string;红线string消失。。。

但是之前cout出现红线的原因为啥呢?还有#include<string> using namespace std;与using std::string;到底啥关系呢?

求解释,求剖析。。谢谢
展开
 我来答
空对空导弹88
2013-06-07 · TA获得超过266个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:167万
展开全部
你是没有使用#include <iostream>标准输出输入流,cout,endl, cin都属于这里面的。using namespace std你可以把他当作一个辨别名字的作用,没什么实际的意义。#include<string>包含了这个,才能使用string的成员函数。
#include <iostream.h>是错误的。.h这里文件是属于c语言的,cout,cin是C++ 的流库的。
追问
嗯,我用的是#include ,我不明白的是,之前cout出现红线的原因,还有#include using namespace std;与using std::string;是不是仅仅写法上的不同呢?
pardream941026
推荐于2017-09-25 · TA获得超过8217个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1340万
展开全部
#include <iostream>
#include <string>
using namespace std;

这样应该可以了。适用gcc
如果使用vc,则
#include <iostream.h>
...
更多追问追答
追问
用的是vs,第一次是这样写的的,但是说cout不明确。。
追答
vs里,不用设置using namespace std;

创建一个win32 console application程序(empty project)
然后添加一个cpp文件
添加代码
#include

int main() {
cout << "This is a test program" << endl;
return 0;
}

这个应该没问题。
-------------------------
如果单纯学习C++的话,建议不要使用vs,你下一个mingw比较好。g++对C++标准支持得比vs好得多。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
穷图末录
2013-06-07 · TA获得超过457个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:155万
展开全部
你可能包含了iostream.h吧
追问
包含的是#include 
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式