Здравствуйте, rg45, Вы писали:
_>>Приведите пример где этот offset_of даёт неверный резульат. Тогда и поговорим.
R>Так ты сам уже привёл этот пример. То, что его результат совпадает с твоими ожиданиями, является лишь частным проявлением неопределённого поведения.
Я про то что если нет виртуальных наследований то всё ок.
struct A { int a; };
struct B : virtual A { int b; };
int main(int argc, char const *argv[]) {
B b[1];
int A:: *p1=&B::a; // + member reference
// int B:: *p2=&B::a; // - virtual memeber reference (очередное c++ и3#$6$тво)
int B:: *p3=&B::b; // + member reference
return 0;
}