에 의해 구조체 또는 객체를 전달 나는이 있습니다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'을 멤버로 사용하고 소멸자를 전혀 쓰지 말아야합니다. –