c++中未定义标志符 in
时间: 2024-09-17 17:08:53 浏览: 46
简单总结C++中的修饰符类型
在 C++ 中,"undefined reference to" 错误通常出现在链接阶段,特别是当你尝试链接程序时,编译器找不到你在源代码中声明的函数、变量或者类的定义。"in" 后面跟着的标识符表示它是一个外部引用,即在某个头文件(.h)中声明但在对应的源文件(.cpp)中没有提供实际的实现。
例如,如果你有一个全局函数在 header 文件中声明:
```cpp
// header.h
extern void someFunction();
```
然后在另一个源文件中试图调用这个函数:
```cpp
// source.cpp
someFunction(); // 这里没有函数体
```
当你尝试编译整个项目时,会收到 "undefined reference to `someFunction()'" 的错误,因为编译器找不到 `someFunction()` 的实际定义。
解决这个问题,你需要在至少一个源文件中提供该函数的实现,如:
```cpp
// source.cpp 或其他合适的cpp文件
void someFunction() {
// 函数体...
}
```
阅读全文