摘要:
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern c 阅读全文
摘要:
要编译成DLL,就要声明和实现分开。首先文件组织是这样的(为了简化,没有加上编译成DLL的语句)在 T.h 中(声明模板函数)template<typename T>T Max(T& t1,T& t2);在 T.cpp 中(模板函数的实现)#include"T.h"template<typename T>T Max(T& t1,T& t2){ return t1>t2?t1:t2;}编译 T.cpp 很好,通过编译在 Main.cpp 中(用于测试的)#include<iostream>using n 阅读全文