Doxygen жалуется, что vector <>. Resize не задокументирован - PullRequest
1 голос
/ 22 февраля 2020

Я пытаюсь выучить Doxygen.

У меня почти все предупреждения и ошибки найдены. Однако есть два, которые я не могу понять.

Мой код выглядит примерно так:

namespace SE{

//! Description etc
template <typename _T>
class MyClass{

public:
       MyClass(int, int);

private:
       std::vector<std::vector<_T>> data;
       double X;      //< Description
}

//! Description etc
template <typename T>
MyClass<T>::MyClass(int rows, int cols){
       data.resize(rows, std::vector<T>(cols));
}

} /* End of namespace SE*/

Когда я пытаюсь обработать его с помощью кислорода, я получаю предупреждение:

warning: Member resize(rows, std::vector< T >(cols)) (function) of namespace SE is not documented

Похоже, он думает, что это моя собственная функция. Как мне сказать Doxygen, что он из std :: vector?

У меня также есть другая функция-член, определенная вне тела функции, которая имеет значение для l oop, и я получаю

warning: Member for(auto i=0;i< n;++i) (function) of namespace SE is not documented.

У меня также была другая функция, где у меня была переменная-член X, и когда я писал эту функцию вне тела определения класса, он сказал, что X не задокументирован.

//! Description etc.
void MyClass::myfunc(){
      X=2.0;       // Doxygen complained here
}

Я смог "исправить" это, выполнив

void MyClass::myfunc(){
      MyClass::X=2.0;       // Doxygen warning suppressed
}

или

void MyClass::myfunc(){
      this->X=2.0;       //  Doxygen warning suppressed
}

Нужно ли мне это делать?

РЕДАКТИРОВАТЬ: У меня также есть проблема, которая в документации У меня есть:

 Functions
        SE::for (auto i=0;i< n;++i)

data    SE::resize (n, std::vector< T >(m))

в сгенерированной документации

...