1. ホーム
  2. c++

[解決済み] は[-Wreorder][closed]の後に初期化されます。

2022-02-09 02:45:52

質問

ファイルをコンパイルすると、次のような警告が表示されます。

In file included from AsyncSQL.cpp:8:0:
AsyncSQL.h: In constructor 'CAsyncSQL::CAsyncSQL()':
AsyncSQL.h:192:10: warning: 'CAsyncSQL::m_iCopiedQuery' will be initialized after [-Wreorder]
   int    m_iCopiedQuery;
      ^

以下は私のAsyngSQL.Hです。 http://pastebin.com/u72kyuq7 では、何が間違っているのでしょうか?

どうすればいいですか?

22行目のイニシャライザーリストのメンバーを初期化する順番が問題です。

_SQLResult(): pSQLResult(NULL), uiNumRows(0),
              uiAffectedRows(0), uiInsertID(0)

これらは、クラス定義に現れるのと同じ順序で現れる必要があります。例えば

class test {
  test(): foo(1), bar(2) { }
  int  foo;
  long bar;
};