Используя визуальную студию здесь. В коде ниже вы можете увидеть строку быть расколом, и я хочу положить каждое раздвоение строку в новой строке, но программа происшествий не создает новую строку, и я получил сообщение об ошибке:C++ добавить новую строку в таблицу представлений datagrid
Exception thrown: 'System.ArgumentOutOfRangeException' in mscorlib.dll Additional information: Index was out of range. Must be non-negative and less than the size of the collection.
String^ text = textBox1->Text;
cli::array<String^>^ part = text->Split('.','?','!');
for (int split = 0; split < part->Length; ++split)
{
datagrid->Rows[split]->Cells[3]->Value = part[split];
}
с, которого не дают никаких сообщений об ошибках, я думаю, следующие вопросы будут ездить к ответу .. Где вы инициализируете переменную «split»? Имеет ли он действительное начальное значение? Почему у вас есть int i и сгруппированы в цикл for? какой из них является индексной переменной? Вы создали datagrid и инициализировали его? Вы выделили достаточно памяти для datagrid-> Rows? –
Я исправляю код и добавляю отсутствующее сообщение об ошибке. –
так что теперь вы должны ответить на следующие вопросы. Вы создали datagrid и инициализировали его? Вы выделили достаточно памяти для datagrid-> Rows and Cells? как правило: всегда проверяйте любой указатель перед вызовом его -> operator и всегда будьте уверены в размере массива перед тем, как присоединить его к оператору [] (сообщение об ошибке дает нам этот подсказку) –