得亏我及时一通搜索搞定。是这样的:
有三个类 A, B, C,其中 A和B都非空,而C同时继承A和B,即 struct C : A, B {...};
那么从 C的指针 static_cast 到 B的指针是会改变指针的值的。我想计算这个偏移量(有几字节),于是我搞了这么个:
size_t offset = reinterpret_cast<size_t>(
static_cast<B*>(static_cast<C*>(nullptr)));
能看出这错误在哪儿吗?
--
FROM 138.19.103.*