Megosztás a következőn keresztül:


Fordító figyelmeztetés (3. szint) C4018

"token" : előjeles/előjel nélküli típuseltérés

Megjegyzések

A token operátor számok összehasonlításához a fordítónak a signed értéket unsigned-ra/-re kellett konvertálnia.

Az egyik módja a figyelmeztetés kijavításának, ha az egyik típust a kettő közül átalakítjuk, amikor összehasonlítjuk a signed és unsigned típusokat.

Example

Ez a példa létrehozza a C4018-at, és bemutatja a javítás módját:

// C4018.cpp
// compile with: cl /EHsc /W4 C4018.cpp
int main() {
    unsigned int uc = 0;
    int c = 0;
    unsigned int c2 = c; // implicit conversion

    if (uc < c)           // C4018
        uc = 0;

    if (uc < unsigned(c)) // OK
        uc = 0;

    if (uc < c2)          // Also OK
       uc = 0;
}

Lásd még

Fordító figyelmeztetés (4. szint) C4388
Fordító figyelmeztetése (4. szint) C4389