Doxygen (1.8.10)은 값이 내 문자열에 포함되어 있지 않다고 불평하고 있습니다. 여기에 문제Doxygen 문서화되지 않은 문자열 값
#include <string>
struct MyStruct ///< Docs for struct
{
std::string a; ///< Docs for a
std::string b; ///< Docs for b
};
class MyClass ///< Docs for class
{
static struct MyStruct instance; ///< Docs for instance
};
struct MyStruct MyClass::instance = {"firstVal", "secondVal"};
나는 하나의 멤버로 구조체를 줄이고, 그 다음 경고가 사라 이니셜 라이저에서 "secondVal"를 제거하면이 경고
/tmp/example.cpp:10: warning: Member firstVal (variable) of class MyClass is not documented.
결과를 보여줍니다 최소한의 예입니다, 하지만 분명히 해결책이 아닙니다. ...
범용 초기화에서 작동합니까? 내가 생각하는 것은'struct MyStruct MyClass :: instance {{ "firstVal", "secondVal"}};' –
그 _ 대부분의 효과, 그리고 작동 솔루션으로 이끌었을 것 같아요 (C++ 11/GCC 4.4 이상, 나는 더 휴대용 솔루션을 좋아할 것입니다.) 'MyStruct MyClass :: instance {{ "firstVal"}, { "secondVal"}};'(각각의 문자열 리터럴은 자신의 중괄호 집합입니다.) 컴파일러는이 장난감 예제로 @AndrewLazarus의 예제를 실제로 받아 들일 것이지만 잘못된 생성자를 호출하는 것 같습니다! 컴파일러 경고는 두 번째 인자에 대해'-Wmissing-field-initializers' ('-Wextra'의 일부)를 트리거 한 이후로 여러분의 친구입니다 ... – Alec