Ben, bir sınıf içinde tanımlanmış bir üye işlev işaretçisi var mesela:çağrılması işaretçi-için-üye fonksiyonu C++
class Example {
void (Example::*foo)();
void foo2();
};
benim ana kodunda, o zaman set foo olarak:
Example *a;
a->foo = &Example::foo2;
Ancak, foo aramaya çalıştığınızda: "hata: bariz çağrının ifadesi önceki parantez olmalıdır aşağıdaki derleme zamanı hatası alıyorum
a->foo();
(pointer-to-) işlev türü ". Sözdizimi bir yere yanlış anladığımı farz ediyorum, birisi bana gösterebilir mi?
' örnek çalışma ideone here görüyor musunuz? –
Maalesef, bu işe yaramıyor. a -> * foo(), "error: foo undefined" değerini döndürür ve -> * (a-> foo)(), orijinal hata mesajını verir. – wolfPack88
'a -> * (a-> foo) civarında parense ihtiyacınız var. Operatör önceliği nasıl çalışır? –