C++标头中带有未声明函数的Doxygen注释

Doxygen comments with undeclared functions in C++ headers

本文关键字:函数 Doxygen 注释 未声明 C++      更新时间:2023-10-16

我有一个代码,其中包含在.cpp文件中定义的成员函数,而这些函数没有在.h文件中声明。与我所期望的相反,它编译起来没有任何问题。

我想用Doxygen生成一些文档,但我在头文件中未声明的成员函数之前添加的注释似乎无法被Doxygen识别。

除了在头文件中定义函数之外,还有什么解决方法吗?

我有一个代码,其中的成员函数在.cpp文件中定义,而在.h文件中没有声明。与我所期望的相反,它编译起来没有任何问题。

你是这个意思吗?

// Foo.h
class Foo
{
  void bar ();
  // no method "meh".
};
// Foo.cpp
int Foo::meh (const std::string& message)
{
   // ...
};

因为这不应该编译。

如果你的意思是:

// Foo.h
void bar ();
// no function "meh".
// Foo.cpp
int meh (const std::string& message)
{
   // ...
}

那就完全可以了(自由函数不需要在头文件中声明)。


我想用Doxygen生成一些文档,但我在头文件中未声明的成员函数之前添加的注释似乎无法被Doxygen识别。

这取决于您的Doxygen配置。确保将INPUT_PATTERNS设置设置为同时包括源文件和头文件。还要确保独立函数命令明确引用某些符号(例如,使用@fn meh命令来记录meh函数)。