传递结构或对象我有这样的:C++通过值
enum Units { Pounds, Kilos };
struct Configuration
{
const Units units;
const char *name;
inline Configuration(Units pUnits, char *pName) : units(pUnits)
{
name = strdup(pName);
}
inline ~Configuration() { free((void *)name); }
};
我经过这些中的一个的方法是这样的:
Configuration cc(Kilos, "abc");
cdao->write(cc);
我正在讨厌崩溃从这个直到我试图重新定义方法作为参考:
Configuration cc(Kilos, "abc");
cdao->write(&cc);
现在一切正常。
但是,如何通过价值的结构与内存拧紧?
你应该有'std :: string name'作为成员,并且根本不写任何析构函数。 – 2014-02-25 23:38:12