C ++コードをコンパイルするには、-W
フラグを使用します。これにより、警告が発生します。
警告:符号なし式の比較<0は常にfalseです
これはバグと見なされ、バージョンGCC 4.3で修正されたと思いますが、GCC4.1を使用しています。
ここで明らかに不快なコード:
void FieldGroup::generateCreateMessage (const ApiEvent::GroupData &data, omsgstream &result) const {
dblog << debug;
// Write out the data fields we care about, in the order they were specified
for (size_t index = 0; index < fields.size(); ++index) {
size_t esIndex = clsToES[index];
if (esIndex < 0 || esIndex >= data.fields.length()) {
ostringstream buf;
buf << "Invalid field " << index << " (index in ES data set " << esIndex << ", " << data.fields.length() << " fields returned)";
throw InvalidDataException (buf.str());
}
fields[index].writeData (data.fields[esIndex], result);
}
}
警告が表示されます:
dbtempl.cpp:メンバー関数内'void ECONZ :: FieldGroup :: generateCreateMessage(const nz :: co :: econz :: eventServer :: ApiEvent :: GroupData&、ECONZ :: omsgstream&)const':dbtempl.cpp:480:警告:符号なし式の比較<0は常にfalseです
これらの警告が表示されないようにするにはどうすればよいですか?-W
旗を外したくない。