0
如何調用傳遞給變量的對象方法?將對象方法傳遞給變量
class A {
public:
inline int f() {
return 1;
}
};
int main() {
A a;
int (A::*y)(); //'y' must be a method of 'A' class that returns 'int'
y = &A::f; //bind 'f' method
*y(); //how to invoke???
}
其他thread綁定到一個對象場的方法,它被調用這樣(a.*(a.x))()
,但我不能找到一種方法,做類似的事情,以一個簡單的變量。
它的工作!謝謝。 – Humberd
如何獲得傳遞給變量'y'的函數名稱(在這種情況下,它將是'f')? – Humberd
@Humberd,沒有可移植的或簡單的方法......目前的方法是通過'std :: type_info',它不會給你你想要的名字。我們希望C++ 20的一些反思建議可以擴展... :-) – WhiZTiM