我正在尝试理解有关extern,static等的一些基础知识,并尝试了以下示例,但我不明白为什么我不能"仅仅"调用该函数,因为它(可能)内联.
我的第一个档案: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;
}
Run Code Online (Sandbox Code Playgroud)
第二个文件:F2.cpp
#include <iostream>
extern int i;
inline void Modify() {
i = 99;
std::cout << "i = " << i << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
如果我保留inline关键字,我会得到:使用mingw在我的F1.cpp文件中对Modify()的未定义引用.但是,如果我把它取消,它一切正常..我假设C++中的inline关键字有某种行为,如static关键字?
我也看过这个主题,但是除了文档说内联函数应该总是在头文件中这一事实之外,我不明白:.cpp文件中的C++内联成员函数
谢谢你的帮助 !