私は私のObj
クラスでこのようなことをしようとしています:
public:
template <typename T>
Obj(T & o) {
siz = sizeof(o);
p = malloc(siz);
memcpy(p, &o, siz);
}
private:
void * p;
size_t siz;
私がこのようなことをするなら、それはうまくいきます:
string str = "foobar";
Obj u = Obj(str);
しかし、私がこのようなことをした場合はそうではありません:
Obj u = Obj(string("foobar"));
その結果、文字列はランダムな文字で埋められます。
私が使用する文字列を取得するには:
string S() {
return *((string *)p);
}
何か案が?