E2069 メンバ ポインタの不正な使用 (C++)
クラス メンバへのポインタを使用できるのは、関数に引数として渡す場合か、以下の演算子と共に使用する場合です。
コンパイラは、メンバ ポインタが上記とは異なる演算子と共に使用されようとしていることを検出しました。
メンバ関数ポインタを呼び出すには、呼び出し先のクラスのインスタンスを指定する必要があります。
以下に例を示します。
class A {
public:
myex();
};
typedef int (A::*Amfptr)();
myex()
{
Amfptr mmyex = &A::myex;
return (*mmyex)(); //エラー
}
次のコードはコンパイルされます。
class A {
public:
myex();
};
typedef int (A::*Amfptr)();
foo()
{
A a;
Amfptr mmyex = &A::myex;
return (a.*mmyex)();
}