2 warriormark warriormark 于 2016.04.10 10:50 提问

extern ostream_withassign MyOut 为什么会在编译时报错?
c++

iostream.h 包含了 ostream.h
ostream.h 中有
”extern ostream__withassign __CRTIMP cout;“
我的代码里 包含了“iostream.h”
然后有
“extern ostream_withassign MyOut;"
编译时报错(还没链接),提示 ostream_withassign 没有define
有点没想明白,cout是如何编译过去的?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
编译与链接时对extern的处理
常用的extern在编译与链接阶段的处理 1、 声明外部变量          现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。  创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件:  //A.cpp  int i;  void main()  {  } 
在C++ 程序中调用被 C 编译器编译后的函数库,为什么要加 extern “C”声明?
C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。
QT项目间使用extern全局变量
在使用到该变量的.c或者.cpp文件中,以extern int Name;声明该变量。 在需要对该变量赋值的.c或者.cpp文件中,以int Name定义该变量。 这种方法不需要包含头文件。
使用extern的问题,一个或多个多重定义的问题的解决
详细请点:http://topic.csdn.net/t/20030604/15/1875272.html  以下是部分文件代码:     ----------------------     main.cpp     //包含     #include   "Init.h"     #include   "GEngine_main.h"             /////////////
extern变量调用报错
前一段时间在应用extern变量时报错,今天花点时间来理清一下 extern 的功能很多,我想今天先理清一个问题,那就是extern 变量的声明和定义之间的关系。  extern 可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其它模块中寻找其他定义。另外extern 也可以用来进行链接指定。 extern定义变量 1.使用ext
流类库与输入输出 (一)
就像C语言一样,C++语言中也没有输入/输出语句。但C++编译系统带有一个面向对象的输入/输出软件包,它就是I/O流类库。流是I/O流类的中心概念。首先介绍流的概念,然后介绍流类库的结构和使用。对于流类库中类的详细说明及类成员的描述,请读者查阅所使用的编译系统的运行库参考手册。  一、I/O流的概念     使用VC++6.0在程序中实现I/O有几种方法:      C运行库直接非缓冲的I/O  
为什么要禁止在正式程序中使用sleep语句?
    通常在一下两种情况中,开发人员会想到使用sleep()。需要等一段时间然后去执行任务,比如定时任务等。在无法获取实时信息的时候。举个例子而言,比如有一个线程,需要等待其他两个线程全部结束,才能够结束的时候,如果没有合适的方式,那么developer通常想到的,就是做一个for循环,加上sleep(),隔一段时间就去检查其他两个线程是否结束。     第二种情况和第一种情况看起来是类似的,总结起来貌似都是需要定时做一个任务,但是这两个有非常大的不同。前者是需求里面要求的,比如每天凌晨一点,去做某些信息
extern 声明 vs2012
extern 使用 写dome:         对变量而言,如果你想在本源文件(例如文件名A)中使用另一个源文件(例如文件名B)的变量,方法有2种:(1)在A文件中必须用extern声明在B文件中定义的变量(当然是全局变量);(2)在A文件中添加B文件对应的头文件,当然这个头文件包含B文件中的变量声明,也即在这个头文件中必须用extern声明该变量,否则,该变量又被定义一次
STM32 keil4 extern问题
最近一个项目,在stm32 keil中移植了别人的一些库文件,编译时出现如下错误提示 .\OBJ\W5100_SPI.axf: Error: L6218E: Undefined symbol FLAG_comerr (referred from master.o). .\OBJ\W5100_SPI.axf: Error: L6218E: Undefined symbol adcval (re
头文件中只能声明变量不能定义变量 而声明变量必须带extern,为什么头文件中变量的声明都没有加
 1.头文件中不可以放变量的定义!一般头文件中只是放变量的声明,因为头文件要被其他文件包含#include,如果把定义放在头文件的话,就不能避免多次定义变量。C++不允许多次定义变量,一个程序中对指定变量的定义只有一次,声明可以无数次。 三个例外:1)值在编译时就已知的const变量的定义可放在头文件中,如:const int num=10;           2)类的定义可放在头文件