Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 1) C4313

'function' : 'specifikátor formátu' ve formátovacím řetězci je v konfliktu s argumentem typu 'type'

Existuje konflikt mezi zadaným formátem a hodnotou, kterou předáváte. Například jste předali 64bitový parametr nekvalifikovanému specifikátoru formátu %d, který očekává 32bitový celočíselnou parametr. Toto upozornění platí pouze v případě, že je kód zkompilován pro 64bitové cíle.

Příklad

Následující ukázka kódu generuje C4313 při kompilaci pro 64bitový cíl.

// C4313.cpp
// Compile by using: cl /W1 C4313.cpp
#include <stdio.h>
int main() {
   int * pI = 0;
   printf("%d", pI);   // C4313 on 64-bit platform code
   // Try one of the following lines instead:
   // printf("%p\n", pI);
   // printf("%Id\n", pI);   // %I64d expects 64-bits of information
}