【发布时间】:2016-10-09 11:56:12
【问题描述】:
Doxygen 1.8.11 对以下定义感到窒息,我在不丢失警告消息的情况下尽可能地简化了它:
template <class T>
struct MySpecialization<T, void_t<decltype(std::declval<T>().foo(
std::declval<double>()))>> : std::true_type {};
警告是:
warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)
有趣的是,Doxygen 可以满足以下条件:
template <class T>
struct MySpecialization<T, void_t<decltype(std::declval<T>().foo())>> : std::true_type {};
这与foo 的定义基本相同。
我非常感谢一个解决方法。在最坏的情况下,我想以某种方式让 Doxygen 忽略这个定义。
【问题讨论】: