gpt4 book ai didi

c++ - 指向 QList 的指针 - at() 与 [] 运算符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:15 24 4
gpt4 key购买 nike

我在理解 QList 的某些行为时遇到问题。

#include <QList>
#include <iostream>
using namespace std;

int main()
{
QList<double> *myList;

myList = new QList<double>;
double myNumber;
double ABC;

for (int i=0; i<1000000; i++)
{
myNumber = i;
myList->append(myNumber);
ABC = myList[i]; //<----------!!!!!!!!!!!!!!!!!!!
cout << ABC << endl;
}

cout << "Done!" << endl;
return 0;
}

我在标记行收到编译错误无法将‘QList’转换为‘double’赋值。它在我使用 ABC = myList.at(i) 时起作用,但 QT 引用似乎说 at()[] operator 是一样。有人知道有什么不同吗?

谢谢

最佳答案

那是因为 operator[] 应该应用于 QList object,但是 myList 是一个 指向QList的指针。

尝试

ABC = (*myList)[i];

相反。 (此外,正确的语法应该是 myList->at(i) 而不是 myList.at(i)。)

关于c++ - 指向 QList 的指针 - at() 与 [] 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com