解決: void (C::*mp)() は vtable 内のインデックス
int main() { C* c = new D(); void (C::*mp)() = &C::func; printf("%d\n", *(int*)&mp); // 1 }
VC はたぶん違う。どう違うかは知らない。