Sdílet prostřednictvím


deprecated pragma

Umožňuje deprecatedpragma označit, že funkce, typ nebo jakýkoli jiný identifikátor již nemusí být v budoucí verzi podporována nebo již by se neměla používat.

Poznámka:

Informace o atributu C++14 [[deprecated]] a pokyny k použití tohoto atributu místo modifikátoru Společnosti Microsoft __declspec(deprecated) nebo atributu deprecatedpragmanaleznete v tématu Atributy v jazyce C++.

Syntaxe

#pragma deprecated(identifikátor1 [ , identifikátor2 ... ])

Poznámky

Když kompilátor narazí na identifikátor určený parametrem deprecatedpragma, vydá upozornění kompilátoru C4995.

Názvy maker lze označit jako zastaralé. Umístěte název makra do uvozovek, jinak dojde k rozšíření makra.

deprecatedpragma Vzhledem k tomu, že funguje na všech odpovídajících identifikátorech a nepřihlíží k podpisům, není nejlepší volbou pro vyřazení konkrétních verzí přetížených funkcí. Všechny odpovídající názvy funkcí, které se přenesou do oboru, aktivují upozornění.

Pokud je to možné, místo atributu deprecatedpragmaC++14 doporučujeme použít atribut C++14[[deprecated]]. Modifikátor deklarace specifické pro __declspec(deprecated) Společnost Microsoft je také lepší volbou v mnoha případech než .deprecatedpragma Atribut [[deprecated]] a __declspec(deprecated) modifikátor umožňují určit zastaralý stav pro konkrétní formy přetížených funkcí. Diagnostické upozornění se zobrazí pouze u odkazů na konkrétní přetíženou funkci, na které se atribut nebo modifikátor vztahuje.

Příklad

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

Následující příklad ukazuje, jakým způsobem označit třídu jako zastaralou:

// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X {  // C4995
public:
   void f(){}
};

int main() {
   X x;   // C4995
}

Viz také

Direktivy Pragma a __pragma _Pragma klíčová slova