Поделиться через


deprecated (C++)

Специфичные исключения (Майкрософт) с замеченные ниже нерекомендуемый объявление предлагает ту же функциональность, что и нерекомендуемый директива pragma:

  • нерекомендуемый объявление позволяет указать определенные формы перегруженных функций, как нерекомендуемый, тогда как форма pragma применяется ко всем перегружанным формам имени функции.

  • нерекомендуемый объявление позволяет указать сообщение, которое отображается во время компиляции.Текст сообщения может использоваться из макроса.

  • Макросы может быть отмечен как нерекомендуемый с нерекомендуемый директива pragma.

Если компилятор обнаруживает использование нерекомендуемого идентификатора, a C4996 предупреждение формируется.

Пример

В следующем примере показано, как пометить функции, такие как нерекомендуемый, и сообщение, которое будет отображаться во время компиляции, когда нерекомендуемая функция будет использоваться.

// deprecated.cpp
// compile with: /W3
#define MY_TEXT "function is deprecated"
void func1(void) {}
__declspec(deprecated) void func1(int) {}
__declspec(deprecated("** this is a deprecated function **")) void func2(int) {}
__declspec(deprecated(MY_TEXT)) void func3(int) {}

int main() {
   func1();
   func1(1);   // C4996
   func2(1);   // C4996
   func3(1);   // C4996
}

В следующем примере показано, как пометить классы как нерекомендуемый, и сообщение, которое будет отображаться во время компиляции, когда нерекомендуемый класс будет использоваться.

// deprecate_class.cpp
// compile with: /W3
struct __declspec(deprecated) X {
   void f(){}
};

struct __declspec(deprecated("** X2 is deprecated **")) X2 {
   void f(){}
};

int main() {
   X x;   // C4996
   X2 x2;   // C4996
}

См. также

Ссылки

__declspec

Ключевые слова C++