C + + 中未定义的引用/未解析的外部符号错误是什么?
顾名思义,您声明的符号不是您定义的。由于许多情况,可能会发生这种情况。让我们看看其中的三个-
您忘记定义声明的名称。例如,您在文件中声明了一个函数并在某处使用了它。但是您没有提供其定义。代码-
#include<iostream>
void foo();
int main() {
foo(); //声明但未定义
}您已定义它,但未使用限定名称。假设您使用方法创建了一个类并定义了该方法,但是忘记了使用作用域解析将该功能链接到该定义并在某处使用了该功能。例如,
#include<iostream>
class A {
void foo();
};
void foo() { } // should have used A::foo
int main() {
A a;
a.foo(); // Not defined!
}您没有以不正确的顺序包含依赖性。链接器尝试按您指定的顺序链接到它。因此,如果在定义之前使用方法,则可能会出现此错误。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西