我有一些模板的C++源代码可能是这样的 - doxygen运行没有错误,但没有文档被添加到输出,发生了什么?Doxygen不会索引我的C++源代码 - 为什么不呢?
///
/// A class
///
class A
{
///
/// A typedef
///
typedef B<C<D>> SomeTypedefOfTemplates;
};
我有一些模板的C++源代码可能是这样的 - doxygen运行没有错误,但没有文档被添加到输出,发生了什么?Doxygen不会索引我的C++源代码 - 为什么不呢?
///
/// A class
///
class A
{
///
/// A typedef
///
typedef B<C<D>> SomeTypedefOfTemplates;
};
是的,所以发生的是模板实例化是假的。像这样的“>>”是不明确的,并且意味着编译时错误。你看不到它,因为也许你的编译器(VC++)让它滑过,但我想doxygen是更严格的。添加一个如图所示的空间。
///
/// A class
///
class A
{
///
/// A typedef
///
typedef B<C<D> > SomeTypedefOfTemplates;
};
请注意,doxygen现在支持使用右移运算符(从版本1.6.0开始)关闭模板。
另请参阅http://bugzilla.gnome.org/show_bug.cgi?id=560512了解有关该问题和解决方案的讨论。
是的,>>会被解释为一个右移运算符。不过,C++ 0x会改变这种行为。见http://en.wikipedia.org/wiki/C%2B%2B0x#Angle_bracket – 2008-10-16 21:33:30