struct str1 {int i; double k; short s; std::string q; int*j;}; str1 lol1; GenericStruct lol2; if (sizeof(lol2) != sizeof(lol1)) SO4ERROR("Can't hack it enough..."); lol2.Set(1, 3.0, 2, "It works!", &lol1.i); MessageBox(NULL, GSGet<3>::byptr(lol2)->c_str(), "hmm...", MB_OK);