quote:
beyond that, i was under the impression that DWORD, and so presumably DWORD_PTR was a #define. am i wrong about this?
nope, both DWORD and DWORD_PTR are typedefs.
quote:
your code snippet does not make sense to me.
Since when do repro samples do have to make sense?:) If it compiles VAX should accept it as well imho.
Anyways I've found out what makes vax go nuts. It's the const variant of cast operator.
struct blub
{
public:
// fine
operator const int*() const
{
return reinterpret_cast<const int*>(this);
}
// fine
operator DWORD_PTR() const
{
return reinterpret_cast<DWORD_PTR>(this);
}
// uncomment block and DWORD_PTR is colored wrong
/*
operator const DWORD_PTR() const
{
return reinterpret_cast<const DWORD_PTR>(this);
}
*/
};