#include #include struct A { A() {} }; extern void receivesByRef(QVector &); extern void receivesByRef2(const QString &, QVector &); extern void receivesByPtr(QVector *); void test() { QVector v1; // OK for (int i = 0; i < 10; i++) { A a; // OK QVector v2; // Warning v2.append(i); QVector().append(i); // OK (bogus but that's not what we're after) } } void test1() { QVector v; while (true) { QVector v1(v); // OK } while (true) { QVector v1; // OK receivesByRef(v1); } while (true) { QVector v1; // OK receivesByRef2(QString(), v1); } while (true) { QVector v1; // OK receivesByPtr(&v1); } }