2011-01-27 8 views
5

, sadece ismin değil, işlevin imzasına dayanarak bir fonksiyonun #deprize edilmesi mümkün müdür?#pragma, imzaya dayalı bir işlevi onaylamıyor mu? Visual Studio'da

__declspec(deprecated) void foo(int) {} 

Ve eğer isterseniz derleyici oluşturmak için: Benim durumumda

biz C++ konum ve işlevinin

int foo();  <-- we want to keep 
int foo(int x); <-- we want to deprecate 

cevap

12

tüm lezzetleri kaldırmayı istemiyorum sadece bunu kaldırılmış bir işlevi derlerken bir belirli mesajı, o zaman bu yapın:

__declspec(deprecated("foo(int) is a deprecated function.")) void foo(int) {} 
+1

Beni yaklaşık 40 saniye sürdü. Lanet olsun! +1 :) –