200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 未定义标识符ostream | 未定义标识符cout

未定义标识符ostream | 未定义标识符cout

时间:2019-11-22 12:41:42

相关推荐

未定义标识符ostream | 未定义标识符cout

来源链接:/FussyCat/article/details/88309197

问题表现

没怎么用过C++写过完整的项目,今天闲来无事,便创建个c++的工程玩玩,结果一个简单的打印输出就给卡住了,无法打开文件“iostream.h”,““cout” 未声明的标识符”,这是什么鬼。。。

首先第一个问题,无法打开文件“iostream.h”。

找了下外部依赖文件,确实没有文件“iostream.h”,倒是有“iostream”,OK,去掉.h,再编译一遍。

结果,无法打开的问题消失了,但第二个问题还存在。

找找资料看看iostream的用法,好吧,需要加 using namespace std; OK,编译通过,运行输出正常。

或者不加using namespace std;的话,可用此替代 std::cout << “I look so ugly that i couldn’t send pics to you.” << std::endl;

#include "stdafx.h"#include <stdio.h>#include <Windows.h>#include <iostream>using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

cout << “I look so ugly that i couldn’t send pics to you.” << endl;

Sleep(10000);return 0;

}

1234567891011121314

iostream和iostream.h的区别

好吧,被这么折腾下,好奇为什么其他的引用都会有.h,怎么iostream却不需要。

找了一些资料,微软官网只有iostream库,没有iostream.h,以下是民间的说法。(引用原文)

C++的标准类库被修订了两次,有两个标准C92和C99,这两个库现在都在并行使用,用 .h 包含的是c92(旧文件) ,不带 .h 的是c99的头文件(新标准),对于普通用户来说这两者没有什么区别,区别是在内部函数的具体实现上。旧的C++头文件是官方明确反对使用的,但旧的C头文件则没有(以保持对C的兼容性)。据说从 Visual C++ .NET 开始,移除了旧的 iostream 库。(我说怎么在微软的官网怎么都找不到iostream.h。。)

</div>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。