warning C4018: '<' : signed/unsigned mismatch

Krikus

Mitglied
Hi,

ich bekomme in meiner Klasse, wo ich mit Vektoren arbeiten ca. 60 Warnings beim Kompilieren.(Meldung siehe Topic)
Hier mal ein Beispiel:

C++:
if (v >= 0 && v < test.size() && w > 0 && w < test.size())

//oder

for(int i=0;i<test.size();i++)

Kann mir eienr evt. sagen wie ich diese Warnings beheben kann?

Gruß

Krikus
 
Moin,

ein kurzer Blick in die Hilfe ergibt folgendes:
Code:
Compiler-Warnung (Stufe 3) C4018@import url(stylesheets/msdn_ie4.css); Compiler-Warnung (Stufe 3) C4018

 'Ausdruck': Konflikt zwischen signed und unsigned
 Der Versuch wurde unternommen, einen vorzeichenlosen Wert mit einem  vorzeichenbehafteten Wert zu vergleichen. Für den Vergleich wurde der  vorzeichenbehaftete Wert in einen vorzeichenlosen Wert konvertiert.
 Wenn Sie einen Vergleich zur Gleichheit ('==') oder Ungleichheit ('!=')  Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Typen vornehmen,  sollten Sie einen Typ in den anderen umwandeln, um einen sicheren Vergleich zu  gewährleisten.

Was sind denn 'v' und 'w' für Datentypen ? ? ?

Gruß
Klaus
 
Hi.

Die Variablen haben den falschen Typ:
C++:
vector<TYP>::size_type v, w;
Generell solltest du lieber Iteratoren verwenden.

Gruß
 
Zurück