小编Jon*_*aws的帖子

C++从另一个cpp文件调用内联函数

我正在尝试理解有关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++内联成员函数

谢谢你的帮助 !

c++ inline extern

2
推荐指数
2
解决办法
1324
查看次数

标签 统计

c++ ×1

extern ×1

inline ×1