C++ 强氧剂与Qt
我有这样的类定义:C++ 强氧剂与Qt,c++,qt,c++11,doxygen,C++,Qt,C++11,Doxygen,我有这样的类定义: class A Q_DECL_FINAL: public QThread 问题是,doxygen解析不正确!我在doxygendocs and diagrams中的课程调用了Q\u DECL\u FINAL。我怎样才能解决这个问题?假设您有: class MovableLabel Q_DECL_FINAL: public QLabel 要忽略Q\u DECL\u FINAL(在doxygen中),应使用下一步: class MovableLabel /** @cond *
class A Q_DECL_FINAL: public QThread
问题是,doxygen
解析不正确!我在doxygendocs and diagrams中的课程调用了Q\u DECL\u FINAL
。我怎样才能解决这个问题?假设您有:
class MovableLabel Q_DECL_FINAL: public QLabel
要忽略Q\u DECL\u FINAL
(在doxygen
中),应使用下一步:
class MovableLabel /** @cond */ Q_DECL_FINAL /** @endcond */: public QLabel
在这种情况下,您将在编译期间在由doxygen
生成的文档中获得正确的类名和Q\u DECL\u FINAL
的真正含义,因此下一步将不起作用:
class Der : MovableLabel //error
{
};
而且Q_DECL_FINAL
不是typedef
。有点像:
#ifdef Q_COMPILER_EXPLICIT_OVERRIDES
# define Q_DECL_OVERRIDE override
# define Q_DECL_FINAL final //here our keyword
#else
# ifndef Q_DECL_OVERRIDE
# define Q_DECL_OVERRIDE
# endif
# ifndef Q_DECL_FINAL
# define Q_DECL_FINAL //just nothing, if c++11 not enabled
# endif
#endif
而Q\u编译器\u显式\u覆盖
是:
# if __has_feature(cxx_override_control)
# define Q_COMPILER_EXPLICIT_OVERRIDES
# endif