我在 cpp 文件中有一组全局变量和一个方法。
int a;
int b;
int c;
void DoStuff()
{
}
在头文件中,我已经用 extern 关键字明确地声明了它们。我的问题是当我在另一个 C++ 文件中包含头文件时,我不能使用外部变量和方法。它给出了一个链接器错误,指出方法和变量的error LNK2001: unresolved external symbol。我在这里做错了什么??
PS:DoStuff() 方法填充变量。所有头文件和 cpp 文件都在同一个项目文件夹中。
谢谢!
最佳答案
试试这个
在标题中定义这些变量,而不是仅仅声明它们。
extern int x;
只是一个声明(不是定义)
简单的例子
a.cpp
int a,b,c; //definition
void doStuff(){
}
b.cpp
extern int a,b,c; //extern keyword is mandatory
void doStuff(); //extern keyword is optional because functions by default have external linkage
int main()
{
doStuff();
}
关于c++ - 'extern' 关键字有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252410/