У меня есть следующий кусок кода, и сервер klocwork бросает динамическая память хранится в&pData-> Key ‘потерян когда аргумент не передается. то есть, если argc не равно 3.
typedef struct
{
std::string Key;
std::string Value;
}KEYVALPAIR;
std::vector<KEYVALPAIR*> gData;
int main(int argc, char** argv)
{
KEYVALPAIR* pData = new KEYVALPAIR;
if(argc == 3)
{
pData->Key = argv[1];
pData->Value = argv[2];
gData.push_back(pData);
}
}
Я не могу удалить pData после условия if, потому что gData содержит память pData, если условие true. Могу ли я удалить pData в другом состоянии?
Задача ещё не решена.
Других решений пока нет …