Delen via


deprecated pragma

Met de deprecatedpragma kunt u aangeven dat een functie, type of een andere id niet meer wordt ondersteund in een toekomstige release of niet meer mag worden gebruikt.

Notitie

Zie kenmerken in C++voor informatie over het kenmerk C++14 [[deprecated]] en richtlijnen voor het gebruik van dat kenmerk in plaats van de Microsoft __declspec(deprecated) modifier of de deprecatedpragma.

Syntaxis

#pragma deprecated( id1 [ ,id2 ... ] )

Opmerkingen

Wanneer de compiler een id tegenkomt die is opgegeven door een deprecatedpragma, geeft het compilerwaarschuwing C4995-uit.

U kunt macronamen verwijderen. Plaats de macronaam tussen aanhalingstekens of andere macro-uitbreidingen.

Omdat de deprecatedpragma werkt op alle overeenkomende id's en geen rekening houdt met handtekeningen, is het niet de beste optie voor het uitschakelen van specifieke versies van overbelaste functies. Elke overeenkomende functienaam die in het bereik wordt gebracht, activeert de waarschuwing.

U wordt aangeraden het kenmerk C++14 [[deprecated]] te gebruiken, indien mogelijk, in plaats van de deprecatedpragma. De microsoft-specifieke __declspec(deprecated) verklaringsmodifier is in veel gevallen ook een betere keuze dan de deprecatedpragma. Met het kenmerk [[deprecated]] en __declspec(deprecated) kunt u de afgeschafte status opgeven voor bepaalde vormen van overbelaste functies. De diagnostische waarschuwing wordt alleen weergegeven bij verwijzingen naar de specifieke overbelaste functie waarop het kenmerk of de wijzigingsfunctie van toepassing is.

Voorbeeld

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

In het volgende voorbeeld ziet u hoe u een klasse kunt verwijderen:

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

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

Zie ook

Pragma-instructies en de __pragma en _Pragma trefwoorden