Итак, у меня есть выражение регулярного выражения для анализа определенных частей имени файла. Я пытаюсь сохранить каждую часть в своем собственном векторе, пока не воспользуюсь ею позже, но это не позволит мне. Одна ошибка, которую я получаю, когда пытаюсь создать вектор из System :: String ^, заключается в том, что error C3698: 'System::String ^' : cannot use this type as argument of 'new'
Затем, когда я пытаюсь просто создать вектор из std :: string, он не может неявно преобразоваться в тип 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 );*/
}
}