内联函数的前向声明

我有一个头文件,将包含大量(30+)内联函数。

我没有让读者滚动或搜索内联函数的定义(实现),而是希望有一个前向声明部分,它声明函数声明以及描述函数的注释。 本节将允许读者了解如何使用函数或查找函数,而无需向下滚动到实现。

此外,我希望读者养成使用函数的习惯,而不必看到他们的实现。

独立函数的前向声明的语法是什么?

{这适用于C99和C ++}

仅供参考,我使用IAR Workbench C编译器设置使用C99。

与非内联函数没有什么不同:

void func(); // "forward" declaration // ... inline void func() // definition { // impl } 

通常,用于“隐藏”库使用者定义的模式是将声明放在一个标题( ah )中,将定义放在第二个标题( a_def.h )中,然后使用前者#include后者(包含保护省略)为简洁起见):

 // ah void func(); #include "a_def.h" // a_def.h inline void func() { // impl } 

库消费者只需#include

你不需要“转发声明”它(一个通常只适用于类型的术语,因为我们通常将它们定义在我们首先声明它们的相同位置)。

就像正常一样宣布它:

 #include  void foo(); // Declaration inline void foo() { // Defining declaration std::cout << "!"; } // --------------------------------------------- int main() { foo(); // Output: foo() } 

现场演示。