deprecated (C++)
(Konkrétní Microsoft) S výjimkami uvedenými níže se prohlášení nabízí stejné funkce jako se záhlaví pragma:
Se prohlášení umožňuje určit konkrétní formy funkce přetížení jako neschválený, že formulář pragma platí pro všechny formy přetížené název funkce.
Se prohlášení umožňuje zadat zprávu, která bude zobrazovat v době kompilace.Text zprávy, lze z makra.
Makra mohou být označeny pouze jako nepoužívaný s se pragma.
Pokud narazí kompilátor nepoužívaných identifikátor použití C4996 je vyvolána upozornění.
Příklad
Následující ukázka představuje označení funkce jako nepoužívaný a zadat zprávu, která se zobrazí při kompilaci při použití již nepoužívaných funkcí.
// 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 jako nepoužívaný označení třídy a zadat zprávu, která se zobrazí při kompilaci při použití nepoužívané 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
}