2012-07-20 30 views
1

我有在未在.h文件中声明在.cpp文件中定义的成员函数的代码。与我所期望的相反,它编译没有任何问题。Doxygen的意见与C++头文件未申报的功能

我要产生一些文档与Doxygen的,但我的意见似乎添加之前都在头文件中未声明的成员函数不被Doxygen的认可。

有任何解决方法解决这个问题,不是定义在头文件功能的其它?

+0

我会留在编译器远:)也许有该类多个标头???? – 2012-07-20 17:06:30

+0

是的,它肯定会违反期望这可以编译... – 2012-07-20 17:37:59

+0

@ user1541379你确定,你配置Doxygen读取实现文件和头文件吗? – 2012-07-20 18:38:20

回答

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函数)。