Aracılığıyla paylaş


deprecated pragma

işlevin deprecatedpragma , 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 veyapragmadeprecated 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 deprecatedpragmabir 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 deprecatedpragma 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 deprecatedpragmakullanmanızı öneririz. Microsoft'a özgü __declspec(deprecated) bildirim değiştirici, çoğu durumda değerinden deprecatedpragmadaha 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