Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- class Toto {
- public:
- Toto(int a) {
- ma = a;
- }
- void printadd(int b) {
- printf("%i\n", ma + b);
- }
- private:
- int ma;
- };
- void voidint(void* obj, void* method, int param) {
- asm("push %0" : : "a" (param));
- asm("push %0" : : "a" (obj));
- asm("call *%0" : : "a" (method));
- }
- int main() {
- Toto* toto = new Toto(40);
- voidint(toto, (void*)&Toto::printadd, 2); // 42
- voidint(toto, (void*)&Toto::printadd, 1297); // 1337
- }
Add Comment
Please, Sign In to add comment