1. ホーム
  2. c++

[解決済み] C++警告 C4018: '<' : 符号化/非符号化の不一致 [重複].

2022-02-01 05:10:10

質問

このコードは、Windowsでコンパイルすると警告を投げます。何か解決策はありますか?

#include<vector> 

int main(){
  std::vector<int> v;
  //...
  for (int i = 0; i < v.size(); ++i) { //warning on this line
    //...
  }
}

解決方法は?

の定義をすべて置き換えます。 int isize_t i .

std::vector<T>::size() は型を返します。 size_t は符号なしです (コンテナが負の数の要素を含むことは意味をなさないからです)。