在C ++标头中使用未声明的函数进行Doxygen注释

时间:2012-07-20 17:05:09

标签: c++ header doxygen

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

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

除了在头文件中定义函数外,是否有解决此问题的方法?

1 个答案:

答案 0 :(得分:0)

  

我有一个代码,其中包含.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函数。)