-2

我想将两个 QString Array 与 Qt 和 C++ 进行比较,我试过这个,但它不起作用,(实际上我的应用程序崩溃了......):

if(ArrayOne[nb] != ArrayTwo[nb]){

}

然后我需要在我的数组的一个元素上分配一个值,但我也没有工作:

ArrayOne[nb] = ArrayTwo[nb];

要达到这一点:

if(ArrayOne[nb] != ArrayTwo[nb]){
ArrayOne[nb] = ArrayTwo[nb];
}

谢谢 !

4

2 回答 2

1

你说你有:

QString ArrayOne;

如果这是真的,那么你只是比较两个字符串中的字符,而不是字符串数组,在 position nb。并且 QStringoperator[]不检查范围,所以如果nb超过 QString 的长度,程序很可能会崩溃,特别是如果您分配给QString::operator[]...返回的无效引用

所以,要清楚:你的代码可能会崩溃,因为nb >= ArrayOne.length()

于 2012-11-13T21:24:22.603 回答
1

您的nb值可能超出 QString 的大小范围。即,nb > ArrayOne.size-1。

于 2012-11-13T21:15:08.460 回答