Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doxygen error: Found ';' while parsing initializer list

Tags:

c++

c++11

doxygen

Doxygen 1.8.11 is choking on the following definition, which I simplified as much as I could without losing the warning message:

template <class T>
struct MySpecialization<T, void_t<decltype(std::declval<T>().foo(
                             std::declval<double>()))>> : std::true_type {};

The warning is:

warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)

Interestingly, Doxygen is fine with the following:

template <class T>
struct MySpecialization<T, void_t<decltype(std::declval<T>().foo())>> : std::true_type {};

which is basically the same definition without an argument to foo.

I would very much appreciate a workaround. In the worst case, I would like to somehow cause Doxygen to ignore this definition.

like image 461
AlwaysLearning Avatar asked May 23 '26 07:05

AlwaysLearning


1 Answers

I've just committed a fix in GitHub for this issue, see https://github.com/doxygen/doxygen/commit/985faf287233badf65fa33d21bde17afa6970d60

like image 163
doxygen Avatar answered May 26 '26 06:05

doxygen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!