编译器错误 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;
}