C++ üye işlev işaretleyicilerini arama ve yapılarda işaretçi çağırma hakkında bilgi buldum, ancak bir yapının içinde varolan bir üye işlev işaretçisini çağırmam gerekiyor. sözdizimini doğru yaz.Bir yapıdan C++ üye işlev işaretçisi çağırma
void MyClass::run() {
struct {
int (MyClass::*command)(int a, int b);
int id;
} functionMap[] = {
{&MyClass::commandRead, 1},
{&MyClass::commandWrite, 2},
};
(functionMap[0].MyClass::*command)(x, y);
}
int MyClass::commandRead(int a, int b) {
...
}
int MyClass::commandWrite(int a, int b) {
...
}
Bu bana verir: Ben class Sınıfım bir yöntemin içinde aşağıdaki pasajı var. Kullanarak öneren sözdizimi hataları sonuçların etrafında olanlar parantez Hareketli
error: expected unqualified-id before '*' token
error: 'command' was not declared in this scope
(referring to the line '(functionMap[0].MyClass::*command)(x, y);')
* ya -> * ikisi de çalışma içinde bu durumda. Doğru sözdizimini bilen var mı?
http://stackoverflow.com/questions/990625/c-function-pointer-class-member-to-non-static-member-function bu soruyla ilişkili görünüyor. – Rudi