1790: Base class 'std::unary_function<std::basic_string<char>,bool>' has no non-destructor virtual functions
및
을Warning 1509: base class destructor for class 'unary_function' is not virtual
에 따르면, Scott Meyers에 따르면, functor 클래스 기본적으로 인 unary/binary_function
에서 파생하여 적응할 수 있어야합니다. 따라서 임의의 생성자/소멸자가있는 클래스가 없습니다. 따라서 보푸라기 경고가 정당합니다.
누구나이 경고를 표시하지 않는 방법을 알고 있습니까? 은 전적으로이고 unary_function
등의 모든 용도로만 사용할 수 있습니까? 나는 그것이 사용될 때마다 -e1509
을 쓰고 싶지 않다.
정보 # 1790은 공개 대신 개인 상속을 사용하여 표시 할 수 있지만 경고 # 1509는 그대로 유지됩니다.
'std :: unary_function'은 C++ 11에서 더 이상 사용되지 않습니다. – juanchopanza
@juanchopanza 프로젝트는 이전 C++을 사용해야합니다. 그래서 C++ 11은 불행히도 사용할 수 없습니다. 하지만 힌트를 주셔서 감사합니다. 나는 몰랐습니다. – minastaros