@alex4answ

Не соответствие типов при сравнении int и vector.size()?

Добрый день.

в цикле сравниваю int i с vector.size(), компилятор (VS) пишет:
<: несоответствие типов со знаком и без знака

Вот что делаю:
vector<int> myvector; (потом я заполняю вектор, на цикле он заполнен)

for(int i = 0; i < myvector.size(); i++) // тут ругается, но продолжает работать, не ошибку выдает, просто предупреждение


Не могу понять почему пердупреждение, разве size возвращает не int?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
myjcom
@myjcom
разве size возвращает не int?

size_type https://en.cppreference.com/w/cpp/container/vector/size

size_type Unsigned integer type (usually std::size_t)
https://en.cppreference.com/w/cpp/container/vector

std::size_t
is commonly used for array indexing and loop counting. Programs that use other types, such as unsigned int, for array indexing may fail on, e.g. 64-bit systems when the index exceeds UINT_MAX or if it relies on 32-bit modular arithmetic.

https://en.cppreference.com/w/cpp/types/size_t
Ответ написан
profesor08
@profesor08
unsigned int i = 0;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы