Нарушение доступа к TStringList C++ Builder

Я пытаюсь получить доступ к конкретным элементам в TStringList только если они существуют.

if (myTStringList->Count > -1) {
    strSomeString = myTStringList->Strings[0];
}

Почему это дает мне нарушение прав доступа и как я могу его устранить?

2 ответа

В списке есть только строка, если Count больше 0. Вы проверяете, больше ли это -1. Измените это на:

if ( myTStringList->Count > 0 )
{
    strSomeString = myTStringList->Strings[0];
}

Две проблемы:

  1. Откуда вы знаете myTStringList даже существует и не указывает на NULL?
  2. Почему вы проверяете, больше ли число минус один? если список пуст, счет будет 0.
Другие вопросы по тегам