I have a с++ project that uses CMake to build. Doxygen is used as a documentation system. I have a warnings from Doxygen, and I can not understand why they appear.
Warnings
So, there are warnings:
.../cnumber.cpp:413: warning: documented symbol `CNumber & CNumber::operator &=' was not declared or defined.
.../cnumber.cpp:433: warning: documented symbol `const CNumber CNumber::operator &' was not declared or defined.
Source
And this is relevant part of header cnumber.h:
/*!
* \brief operator&= - some description
* \param[in] rv - some description
* \return some description
*/
CNumber& operator&=(const CNumber& rv);
/*!
* \brief operator& - some description
* \param[in] rhs - some description
* \return some description
*/
const CNumber operator&(const CNumber& rhs) const;
File cnumber.cpp contains definitions for that overloaded operators:
CNumber& CNumber::operator &=(const CNumber& rv)
{
...
return *this;
}
const CNumber CNumber::operator&(const CNumber& rhs) const
{
return CNumber(*this) &= rhs;
}
I overloaded other operators, but there are no such problems with them.
Doxygen
I used doxygen version 1.8.13. But I have installed 1.8.18 (4b5a3c19573ae5e9a6e6ade8aca9fbe9f307bbd2) now and warnings still appears.
CMake
In addition: I use Doxygen as a target in CMake like this:
find_package(Doxygen REQUIRED dot)
set(DOXYGEN_OUTPUT_LANGUAGE Russian)
set(DOXYGEN_GENERATE_LATEX YES)
doxygen_add_docs(doc ${CMAKE_CURRENT_SOURCE_DIR}/1/ ${CMAKE_CURRENT_SOURCE_DIR}/2/)
add_custom_target(doc_doxygen ALL
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile.doc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen"
VERBATIM )