SSpoke
SSpoke

Reputation: 5836

C++ how to compile __thiscall in MS VC++ 6.0

Let's say I have this code which is generated using HexRays.. but it seems the __thiscall cannot be used in VC++ 6.0.

nonstandard extension used : '__thiscall' keyword reserved for future use

How do I get around this in VC++ 6.0?

long v4 = 0x004AC370;
#define _DWORD long
(*(void (__thiscall **)(int, int))(*(_DWORD *)v4 + 76))(v4, 8);

How do I call the above in MS VC++ 6.0.

I know __thiscall is used for class members, but I have the pointer and would like to avoid any class crafting.

Thanks.

Upvotes: 1

Views: 439

Answers (1)

Ben Voigt
Ben Voigt

Reputation: 283624

A pointer-to-member-function (you'd need to define a class) is the only way in C++ to supply the implicit this parameter. Other than that, you can use inline assembly.

Upvotes: 1

Related Questions