Doxygen не документирует класс, если используется \ code - PullRequest
1 голос
/ 23 апреля 2020

Это либо ошибка в Doxygen, либо я что-то упустил. Это очень легко воспроизвести следующим образом:

У меня есть следующий класс в foo.h файле:

class Foo {

public:
    /**
     * This is a comment with \code value.
     */
    int bar(int value);

};

Если я использую Doxygen (версия 1.8.17) с конфигурацией по умолчанию (генерируется командой doxygen -g), тогда класс Foo не появляется в произведенной документации. Если я просто уберу символ \code в комментарии к bar, появится класс. Если я положу его обратно, он снова исчезнет и т. Д.

Это похоже на ошибку. Я что-то упустил?

PS: я использую MacOS 10.15.4, если это что-то меняет.

1 Ответ

2 голосов
/ 23 апреля 2020

Использование команды \code неверно, закрытие \endcode отсутствует. Есть также предупреждения:

.../aa.h:10: warning: Reached end of file while still inside a (nested) comment. Nesting level 1 (probable line reference: 4)
...
.../aa.h:10: warning: File ended in the middle of a comment block! Perhaps a missing \endcode?

При исправлении этого вы получите сообщение:

...aa.h:1: warning: Compound Foo is not documented.

, но это очевидно, поскольку сам класс не задокументирован.

Обратите внимание, что немного странно иметь \code в кратком описании, может быть, вам стоит взглянуть на такие команды, как \a, \arg и \param.

...