deprecated (C/C++)
deprecated プラグマを使用して、今後のリリースでサポートされない、または使用が推奨されない関数、型、その他の識別子を示すことができます。
#pragma deprecated( identifier1 [,identifier2, ...] )
解説
コンパイラは、使用されていないシンボルを検出すると、C4995 を発行します。
マクロ名の使用を避けることができます。 マクロ名を引用符で囲んで配置します。そうしないと、マクロ展開が発生します。
deprecated __declspec 修飾子を使用して、オーバーロードされた関数の特定形式に対し、deprecated ステータスを指定できます。
使用例
// 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
}
次のサンプルでは、クラスの使用を避ける方法を示します。
// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X { // C4995
public:
void f(){}
};
int main() {
X x; // C4995
}