Sdílet prostřednictvím


deprecated (C++)

(Specifické pro společnost Microsoft) S výjimkami uvedenými níže nabízí deklarace deprecated stejné funkce jako direktiva pragma deprecated:

  • Deklarace deprecated umožňuje určit konkrétní formy přetížení funkce jako zastaralé, kdežto forma direktivy pragma se vztahuje na všechny přetížené formy názvu funkce.

  • Deklarace deprecated umožňuje zadat zprávu, která se zobrazí při kompilaci.Text zprávy může být z makra.

  • Makra lze označit jako zastaralá pouze direktivou pragma deprecated.

Pokud kompilátor narazí na použití identifikátoru deprecated, je vyvoláno upozornění C4996.

Příklad

Následující příklad ukazuje, jak označit funkce jako zastaralé a jak určit zprávu, která se zobrazí při kompilaci, při použití zastaralé funkce.

// 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
}

Následující příklad ukazuje, jak označit třídy jako zastaralé a jak určit zprávu, která se zobrazí při kompilaci, při použití zastaralé třídy.

// 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
}

Viz také

Referenční dokumentace

__declspec

Klíčová slova jazyka C++