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