コンパイラ エラー C2647
'operator': 'type2' 上の 'type1' を参照できません
メンバーへのポインター演算子 (->*
または .*
) の左側のオペランドを、右側の演算子に関連する型に暗黙的に変換することはできません。
次の例では C2647 が生成されます。
// C2647.cpp
class C {};
class D {};
int main() {
D d, *pd;
C c, *pc = 0;
int C::*pmc = 0;
pd->*pmc = 0; // C2647
d.*pmc = 0; // C2647
// OK
pc->*pmc = 0;
c.*pmc = 0;
}