2015-07-12 2 views
0

В настоящее время у меня проблема с устаревшими сообщениями, наводняющими мой вывод, и я хочу остановить его, не отключая все устаревшие сообщения. Это предупреждает меня о auto_ptr (который я даже не использую в своем собственном коде). Даже если это не может быть сделано с флагом компилятора, то станд библиотека выглядит как это может вывести его из строя, хотя я не мог узнать, как:Отключить классы/функции/типы Mingw, отмеченные как устаревшие?

#if _GLIBCXX_USE_DEPRECATED 
    template<typename> class auto_ptr; 
#endif 

ответ

0

Вы, вероятно, выбрали -std=c++11 или -std=c++0x язык диалектом, или это ваши настройки по умолчанию для GCC.

std::auto_ptr отмечен как устаревший с действующим стандартом, в пользу интеллектуальных указателей C++ 11 от dynamic memory management library.

"(который я даже не использую в своем собственном коде)".

Вы уверены, что вы даже не включают в себя любые 3 участника (не стандарт) вещи, которые могли бы сделать использование std::auto_ptr<>?

«БППП библиотека выглядит как это может вывести его из строя, хотя я не мог узнать, как»

Просто убедитесь, что этот флаг (_GLIBCXX_USE_DEPRECATED) is undefined, при компиляции кода:

$ g++ -U_GLIBCXX_USE_DEPRECATED ...