Qtをコンパイルすると、コンパイラの警告が表示され、困惑します。g ++から '初期化されていません'という警告が表示されるのはなぜですか?
コード
struct QAE{
QString qsSetname;
QString qsAnswer;
QString qsQuestion;
int index;
};
typedef QHash<int, QAE *> * ptrQAEset;
typedef QHash<int, QAE *> QAEset;
QHash<QString, ptrQAEset> QAESets;
void func() {
ptrQAEset qaeset = QAESets.value(oldSetName, qaeset);
QAESets.remove(oldSetName); //remove association with old set name
QAESets.insert(newSetName, qaeset); //create association with new set name
}
と警告
C:\Qt\5.4\mingw491_32\include\QtCore\qhash.h:205: warning: 'qaeset' may be used uninitialized in this function [-Wmaybe-uninitialized]
: next(n), h(hash), key(key0), value(value0) {}
私ははっきりとそれを初期化しています。私は警告を理解していません。
おかげ
それです。私はconst QHash :: value(const Key&key)constを使うことを意図していたので、それは全く見られませんでした。ありがとう – driftwood