0

Qt5.6 を使用しています。QString 関数 lastIndexOf を使用しようとしています。対象データには次のようなものが含まれます。

    156 + (28 * 4) + (14 * 9 * 2)

indexOf の使用:

    int intOpB = strLocalCopy.indexOf(ucOpenBracket);

strLocalCopy にはサブジェクト データが含まれ、ucOpenBracket には「(」が含まれます。

intOpB は正しく返され、6 です。

次に、「)」の最後の出現を探します。

    int intClB = strLocalCopy.lastIndexOf(ucCloseBracket, (++intOpB));

intOpB を参照として使用しているのに、lastIndexOf が常に intClB に -1 を返すのはなぜですか?

すべての変数に必要なものが含まれていることを確認できるように、デバッガーを使用してシングルステップを実行しています。

2番目のパラメーターを削除すると機能しますが、指定されたパラメーターで機能しない理由がわかりません。

4

1 に答える 1