В Visual C ++ 2010 при компиляции следующих кодов я получаю сообщение об ошибке:
static_cast error C2057: ожидаемое константное выражение.
что с этим не так?
struct A {};
struct B : A {};
struct XX
{
static const int offset = (long)static_cast<A*>((B*)0x8) - 0x8;
};
Спасибо AProgrammer, для VC 2010 верно следующее:
struct A {};
struct B : A {};
struct XX
{
static const int offset;
};
const int XX::offset
= (long)static_cast<A const*>((B const*)0x8) - 0x8;