Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.12.4
-
None
Description
//代码占位符 class FA{ public: static QVector<FA*> allFA; static int Register(FA* p); }; QVector<FA*> FA::allFA = QVector<FA*>(); int FA::Register(FA* p){ allFA.push_back(p); return 1; }class CA:public FA{ public: static CA* pC; static int result; static CA* getInstance(); }; CA* CA::pC = nullptr; int CA::result = Register(getInstance()); CA* CA::getInstance(){ if (!pC) pC = new CA; return pC; } class CB:public FA{ public: static CB* pC; static int result; static CB* getInstance(); }; CB* CB::pC = nullptr; int CB::result = Register(getInstance()); CB* CB::getInstance(){ if (!pC) pC = new CB; return pC; }
If use vector in C++, there are two point in allFA.
*But use *QVector in QT application, there is nothing in allFA.