In follow-up, I found the solution to the "this pointer" on the stack
(g++) vs ESI (MSVC) problem.  I was thinking the g++ needed to be
"fixed" but I found that it was MSVC that needed to be "fixed".  The
fix was to change the calling conventino to __stdcall for MSVC as shown
below.  I"m now calling methods between g++ and MSVC without issues.

class ITest
{
public:
        void virtual __stdcall TestFunc(int x, int y, int z) = 0;
};

class Test : ITest
{
public:
        Test() {}
        ~Test() {}

        void __stdcall TestFunc(int x, int y, int z)
        {
                int a; 
                a = x + y + z; 
        } 
};

_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to