Итак, у меня есть выражение регулярных выражений для синтаксического анализа определенных частей имени файла. Я пытаюсь сохранить каждую часть в своем собственном векторе, пока не буду использовать ее позже, но это не позволит мне. Одна ошибка, которую я получаю, когда пытаюсь сделать вектор System :: String ^, это то, что error C3698: 'System::String ^' : cannot use this type as argument of 'new'
Затем, когда я пытаюсь просто создать вектор std :: string, он не может неявно преобразовать в тип System :: String^и casting тоже не будет работать.Возникли проблемы с созданием векторов System :: String^
void parseData()
{
System::String^ pattern = "(\\D+)(\\d+)(\\w{1})(\\d+)\\.(\\D{3})";
std::vector <System::String^> x, y, filename, separator;
Regex re(pattern);
for (int i = 0; i < openFileDialog1->FileNames->Length; i++)
{
Match^ m = re.Match(openFileDialog1->FileNames[i]);
filename.push_back(m->Groups[0]->Value);/*
x.push_back(m->Groups[1]->Value);
separator.push_back(m->Groups[2]->Value);
y.push_back(m->Groups[3]->Value);*/
}
}
Рассмотрите возможность использования зОго :: строки вместо или управляемого типа коллекции, как список. –
TreDubZedd
@iconiK: Я уже сказал, что .. @TreDubZedd: Я уже сказал, что я тоже пытался использовать std: string. Однако я попробую List завтра. –
Justen
@ Justen, где вы сказали, что std :: vector использует new для выделения своих объектов, и он не может сделать это для управляемых? – CMircea