指向指针的 QVector 的指针

Pointer to QVector of pointers

我有一个指向指针 QVector 的指针。我需要传递 "trigger" 作为参考。

我在 header 中有这个:

public:
    QVector<Trigger*>* triggers;

我必须在哪里输入什么???是(触发器[i]不正常):

void FastViveLoop::solveTriggers()
{
    for(int i = 0; i < triggers->count(); ++i)
    {
        bool on, off;
        on = checkOn(???);        
    }
}

bool FastViveLoop::checkOn(Trigger &trigger)
{


    return false;
}

我不喜欢你将 QVector 存储为指针, 这不是 class 的用法。 但既然你是,有一个简单的方法可以解决你的问题。

void FastViveLoop::solveTriggers()
{
    for(auto item : (*trigger))
    {
        bool on, off;
        on = checkOn(item);        
    }
}

使用基于范围的 for 和 QVector 的值。