I am trying to access member variables of a class without using object. please let me know how to go about.
class TestMem
{
int a;
int b;
public:
Tes
I came up with a solution but it's dirty:
class TestMem
{
public:
int a;
int b;
TestMem(){}
void TestMem1()
{
a = 10;
b = 20;
}
};
void* offset(void* ptr, ...)
{
va_list ap;
va_start(ap, ptr); // get 1st argument's address
long i = va_arg(ap, long); // get next argument
va_end(ap);
return (char*)ptr + i;
}
void test()
{
TestMem t;
void* p = (TestMem*)&t;
t.a = 8;
t.b = 9;
printf("%i\n", *(int*)offset(p, &TestMem::a));
printf("%i\n", *(int*)offset(p, &TestMem::b));
}