2012-07-20 27 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函數)。