Megosztás a következőn keresztül:


deprecated pragma

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 attribútumról, valamint a Microsoft módosító vagy a helyett az attribútum használatáról a C++attribútumairól olvashat.

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