0

TStringList特定のアイテムが存在する場合にのみ、特定のアイテムにアクセスしようとしています。

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

これによりアクセス違反が発生するのはなぜですか? また、どうすれば解決できますか?

4

2 に答える 2

1

Countが0 より大きい場合、リストには文字列しかありません。-1 より大きいかどうかを確認しています。次のように変更します。

if ( myTStringList->Count > 0 )
{
    strSomeString = myTStringList->Strings[0];
}
于 2013-03-28T14:57:31.450 に答える
0

2 つの問題:

  1. myTStringListが存在し、 を指していないことをどのように知ることができますNULLか?
  2. カウントがマイナス1より大きいかどうかを確認するのはなぜですか? リストが空の場合、カウントは 0 になります。
于 2013-03-28T16:46:56.210 に答える