Ostrzeżenie, [C++ Warning] W8012 Comparing signed and unsigned values

0

Witam
Chciałbym się dowiedzieć co oznacza to ostrzeżenie:

[C++ Warning] Funkcje.cpp(74): W8012 Comparing signed and unsigned values

Oraz oczywiście jak je zlikwidować, odnosi się ono do następującej pętli:

for(int i=0; i<s.length(); i++)

s jest zmienną string.

0

Zapisz się na kurs angielskiego jeśli nie rozumiesz tego komunikatu.
.length() zwraca ci wartość UNSIGNED int, a twoja zmienna 'i' jest typu SIGNED int, toteż kompilator informuje cię że możesz tu mieć błąd bo nie to chciałeś porównać.
Czy się różni signed od unsigned? Odsyłam do dokumentacji. W skrócie jedna przechowuje wartości od -X do +X a druga od 0 do 2X

0

int jest signed, a size_t, które zwraca length, jest unsigned. Może o to chodzi?

0

ok dz. już sobie poradziłem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1