-1
私はLPCTSTRを受け入れ、wstring(ws1)への参照によって値を挿入したベクトルを持っています。問題は、ws1がその値を変更するたびに、以前にベクトルに挿入された値も変更されることです。どのようにベクトルへの挿入後ws1への参照を削除するためのアドバイス?ベクトルへの挿入後にwstringへの参照を削除する
const char* attributeoffile = file->Attribute("Method");
vecFileConsolidateParams.push_back(FILECONSOLIDATEPARAMS());
size_t size = strlen(attributeoffile)+1;
std::wstring ws1;
ws1.resize(size, L'\0');
#pragma warning (disable : 4996)
std::mbstowcs(&ws1[0], attributeoffile, size);
vecFileConsolidateParams[count].filemethod = &ws1[0] ;
ベクターに_pointers_を挿入します。したがって、これらのポインタの1つによって指された文字列が変更された場合、あなたは何を期待していますか? –
以前の値を保存したい場合は、参照外のコピーを挿入してください。 –
"LPCTSTRを受け入れるベクトルがあります" - C++でよりよく見られるものを英語では教えないでください。また、我々は 'FILECONSOLIDATEPARAMS'を欠いており、その機能も疑わしいです。 – MSalters