Udostępnij przez


Ostrzeżenie kompilatora (poziom 1) C4313

"function" : "specyfikator formatu" w ciągu formatu powoduje konflikt z argumentem typu "type"

Uwagi

Występuje konflikt między określonym formatem a przekazywaną wartością. Na przykład przekazano 64-bitowy parametr do niekwalifikowanego specyfikatora formatu %d, który oczekuje 32-bitowej liczby całkowitej. To ostrzeżenie działa tylko wtedy, gdy kod jest kompilowany dla obiektów docelowych 64-bitowych.

Przykład

Poniższy przykład kodu generuje kod C4313 podczas kompilowania dla 64-bitowego obiektu docelowego.

// 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
}