Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
işlevin deprecated
pragma , türün veya başka bir tanımlayıcının artık gelecekteki bir sürümde desteklenmeyebileceğini veya artık kullanılmaması gerektiğini belirtmenizi sağlar.
Not
C++14 [[deprecated]]
özniteliği hakkında bilgi edinmek ve Microsoft __declspec(deprecated)
değiştiricisi veyadeprecated
pragma yerine bu özniteliğin ne zaman kullanılacağına ilişkin yönergeler için bkz. C++'da öznitelikler.
Sözdizimi
#pragma deprecated(
identifier1 [,
identifier2 ... ])
Açıklamalar
Derleyici tarafından belirtilen deprecated
pragmabir tanımlayıcıyla karşılaştığında, derleyici uyarısı C4995 ile karşılaşır.
Makro adlarını kullanımdan kaldırabilirsiniz. Makro adını tırnak içine yerleştirin, aksi takdirde makro genişletme gerçekleşir.
tüm eşleşen tanımlayıcılarda çalıştığından deprecated
pragma ve imzaları hesaba katmadığı için, aşırı yüklenmiş işlevlerin belirli sürümlerini kullanımdan kaldırmaya yönelik en iyi seçenek değildir. Kapsama getirilen eşleşen işlev adları uyarıyı tetikler.
Mümkün olduğunda yerine C++14 [[deprecated]]
özniteliğini deprecated
pragmakullanmanızı öneririz. Microsoft'a özgü __declspec(deprecated)
bildirim değiştirici, çoğu durumda değerinden deprecated
pragmadaha iyi bir seçimdir.
[[deprecated]]
özniteliği ve __declspec(deprecated)
değiştiricisi, aşırı yüklenmiş işlevlerin belirli biçimleri için kullanım dışı durumunu belirtmenize olanak sağlar. Tanılama uyarısı yalnızca özniteliğin veya değiştiricinin uygulandığı belirli aşırı yüklenmiş işleve yapılan başvurularda görünür.
Örnek
// 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
}
Aşağıdaki örnekte bir sınıfın nasıl kullanım dışı bırakılası gösterilmektedir:
// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X { // C4995
public:
void f(){}
};
int main() {
X x; // C4995
}
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri