-
关于extern的使用疑问5
当我在使用extern时遇到了问题,希望有那位大牛能帮我解答下:
1.
#include <iostream>
using namespace std;
extern const int A,B;
int function(){
//extern const int A,B;
return A+B;
}
const int A=1;
const int B=2;
int main(){
int i;
cout<<function()<<endl;
return 0;
}
编译能通过,结果显示3
#include <iostream>
//#include "a.cpp"
using namespace std;
//extern const int A,B;
int function(){
extern const int A,B;
return A+B;
}
const int A=1;
const int B=2;
int main(){
int i;
cout<<function()<<endl;
return 0;
}这样编译没有过,显示结果是
/tmp/ccPgxI8a.o: In function `function()':
b.cpp:(.text+0x5): undefined reference to `A'
b.cpp:(.text+0xa): undefined reference to `B'
collect2: ld returned 1 exit status
#include <iostream>
//#include "a.cpp"
using namespace std;
//extern const int A,B;
int function(){
extern int A,B;
return A+B;
}
int A=1;
int B=2;
int main(){
int i;
cout<<function()<<endl;
return 0;
}编译能过
2012年3月20日 10:54
目前还没有答案
相关推荐
使用`extern`关键字可以避免重复定义的问题,确保在链接阶段只有一个定义被使用。全局变量的初始化应在某个源文件中明确完成,而不是在头文件中。 #### 1.4 extern在函数声明中是什么意思? `extern`关键字用于...
创建一个新的单元,导入PdfiumLib的C++头文件,并使用Delphi的`extern "C"`关键字来声明函数。这样,Delphi可以调用C++编译的库函数。 3. **API接口**:PdfiumLib提供了一系列API接口,例如FPDF_LoadDocument、FPDF...
extern "C" MYDLL_API int Add(int a, int b); ``` 在源文件(如`mydll.cpp`)中实现这些函数。 3. 编译设置: 对于DLL项目,确保配置属性中的“目标扩展名”为`.dll`,“生成库模式”为“多线程 DLL (/MD)”。...
对于已经存在外部域声明的UDF,需要将extern声明替换为Get_Domain函数的调用,并将返回的指针赋值给Domain指针。 UDF存在的局限性包括无法访问所有的变量和模型,比如比热值的调节就不能通过UDF实现,需要使用...