私は次のような構造を持っています:
typedef struct
{
std::wstring DevAgentVersion;
std::wstring SerialNumber;
} DeviceInfo;
しかし、それを使おうとすると、あらゆる種類のメモリ割り当てエラーが発生します。
これを次のような関数に渡そうとすると、次のようになります。
GetDeviceInfo(DeviceInfo *info);
使用する前に初期化していないことを示すランタイムチェックエラーが発生します。これは修正したようです。
DeviceInfo *info = (DeviceInfo*)malloc(sizeof(DeviceInfo));
しかし、関数で、いずれかの構造体の針を設定しようとすると、文字列に値を設定しようとしたときに不正なポインターにアクセスしようとしていると文句を言います。
この構造(およびそのすべての内部文字列)を初期化するための最良の方法は何ですか?