aşırı yüklenmiş üye işlevinin belirli bir sürümüne işaretçi almaya çalışıyorum. İşte örnek:Aşırı yüklenmiş üye işlevinin adresi nasıl alınır?
class C
{
bool f(int) { ... }
bool f(double) { ... }
bool example()
{
// I want to get the "double" version.
typedef bool (C::*MemberFunctionType)(double);
MemberFunctionType pointer = &C::f; // <- Visual C++ complains
}
};
hata mesajı "hata C2440: 'başlatılıyor': 'MemberFunctionType' için 'aşırı-fonksiyonu' dan dönüştürmek olamaz"
f
aşırı değilse bu işleri
değil Yukarıdaki örnekte. Herhangi bir öneri?
hızlı bir test yaptı ve her şey derleniyor. kod tamam görünüyor - eğer bu sizin orijinal kodunuzsa: D aynı zamanda tam olarak bu şekilde de var mı? –
Hangi MSVC sürümünü kullanıyorsunuz. 2008'de iyi çalışıyor. – Eclipse
elbette. Harika bir zevk alacağım: p –