Compartilhar via


Aviso do compilador (nível 1) C4313

'function': 'format_specifier' na cadeia de caracteres de formato entra em conflito com o número de argumento do tipo 'type'

Há um conflito entre o formato especificado e o valor que você está passando. Por exemplo, você passou um parâmetro de 64 bits para um especificador de formato %d não qualificado, que espera um parâmetro inteiro de 32 bits. Esse aviso só está em vigor quando o código é compilado para destinos de 64 bits.

Exemplo

O exemplo de código a seguir gera o aviso C4313 quando é compilado para um destino de 64 bits.

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