是否必须在同一个文件中声明c ++内联函数?

时间:2014-03-07 11:59:08

标签: c++ function header inline

我有一个带有所有声明的头文件,一个.cpp文件被编译为.o文件,一个.cpp文件带有main方法。

奇怪的是,当.o文件中的某个函数在标题中内联声明时,程序将无法编译(我在cygwin上使用g ++);只有正常宣布。

那么,内联函数是否必须在它们被使用的同一文件中声明?

1 个答案:

答案 0 :(得分:3)

  

那么,内联函数是否必须在它们被使用的同一文件中声明?

所有功能(以及通常所有命名实体)在使用前必须声明;内联函数也必须在每个使用它的翻译单元中定义

因此,它们通常在标题中定义,因此定义可以包含在多个翻译单元中。