Здравствуйте Кодт, Вы писали:
К>Примерчик-то — гремучий:
Примерчик совершенно корректный.
К>1) преобразовали &C::Test к void(*B::pfn)(void)
К>(а почему не к LPTHREADPROC, например?)
Потому что спеуцификация С++ не может предсказать поведение программы, которое получится после преобразования и вызова через LPTHREADPROC. А преобразование к 'void(*B::pfn)()' — совершенно легально и должно давать правильные резулитаты при таком способе вызова.
К>2) взяли произвольное смещение (приведение типа при множественном наследовании)
А приведение типа при множественном наследовании не берет произвольное смещение. Оно берет правильное смещение.