我有一个带有所有声明的头文件,一个.cpp文件被编译为.o文件,一个.cpp文件带有main方法。
奇怪的是,当.o文件中的某个函数在标题中内联声明时,程序将无法编译(我在cygwin上使用g ++);只有正常宣布。
那么,内联函数是否必须在它们被使用的同一文件中声明?
答案 0 :(得分:3)
那么,内联函数是否必须在它们被使用的同一文件中声明?
所有功能(以及通常所有命名实体)在使用前必须声明;内联函数也必须在每个使用它的翻译单元中定义。
因此,它们通常在标题中定义,因此定义可以包含在多个翻译单元中。