'expression' : signed/unsigned mismatch
Comparing a signed and unsigned number required the compiler to convert the signed value to unsigned.
Possible solution
The following sample generates C4018:
void main() { unsigned int uc = 0; int c = 0; // try.. // unsigned int c = 0; if (uc == c) // C4018 uc = 0; }