Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A deprecatedpragma segítségével jelezheti, hogy egy függvény, típus vagy bármely más azonosító már nem támogatott egy jövőbeli kiadásban, vagy többé nem használható.
Jegyzet
A C++14
Szintaxis
#pragma deprecated(azonosító1 [,azonosító2 ... ])
Megjegyzések
Amikor a fordító egy deprecatedpragmaáltal megadott azonosítóval találkozik, a fordító figyelmeztetést ad ki C4995.
A makrónevek elavultak. Helyezze a makró nevét idézőjelekbe, különben makróbővítés történik.
Mivel a deprecatedpragma minden egyező azonosítón működik, és nem veszi figyelembe az aláírásokat, nem ez a legjobb megoldás a túlterhelt függvények egyes verzióinak elavulttá ására. A hatókörbe bevitt egyező függvénynevek aktiválják a figyelmeztetést.
Ha lehetséges, a C++14 [[deprecated]] attribútumot javasoljuk a deprecatedpragmahelyett. A Microsoft-specifikus __declspec(deprecated) deklarációs módosító sok esetben jobb választás, mint a deprecatedpragma. A [[deprecated]] attribútum és __declspec(deprecated) módosító lehetővé teszi a túlterhelt függvények bizonyos formáinak elavult állapotának megadását. A diagnosztikai figyelmeztetés csak arra a túlterhelt függvényre mutató hivatkozásokon jelenik meg, amelyekre az attribútum vagy módosító vonatkozik.
Példa
// pragma_directive_deprecated.cpp
// compile with: /W3
#include <stdio.h>
void func1(void) {
}
void func2(void) {
}
int main() {
func1();
func2();
#pragma deprecated(func1, func2)
func1(); // C4995
func2(); // C4995
}
Az alábbi minta bemutatja, hogyan lehet elavultatni egy osztályt:
// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X { // C4995
public:
void f(){}
};
int main() {
X x; // C4995
}
Lásd még:
Pragma irányelvei, valamint a __pragma és _Pragma kulcsszavak