我正在尝试了解一些有关extern、static等基本概念的知识,并尝试了以下示例,但我不明白为什么我不能调用函数“just”,因为它可能是内联的。
我的第一个文件:F1.cpp
#include <iostream>
void Modify();
int i;
int main() {
i = 1;
std::cout << "i = " << i << std::endl;
Modify();
std::cout << "i = " << i << std::endl;
return 0;
}
第二个文件:F2.cpp
#include <iostream>
extern int i;
inline void Modify() {
i = 99;
std::cout << "i = " << i << std::endl;
}
在F2.cpp中使用inline关键字后,我在F1.cpp文件中得到了一个未定义的Modify()引用错误。移除后,代码编译并正常工作。
我认为C++中的inline关键字类似于static关键字?
我也看过这个主题,但除了文档说内联函数应该始终位于头文件中之外,我不理解:C++ inline member function in .cpp file 感谢您的帮助!