-Werror = format: como o compilador pode saber
Eu escrevi este código intencionalmente errado
printf("%d %d", 1);
compilando comg++
e-Werror=format
.
O compilador dá esse aviso muito impressionante:
error: format '%d' expects a matching 'int' argument [-Werror=format]
Até onde eu posso ver, não há como o compilador saber que o código está errado, porque a string de formato não é analisada até o tempo de execução.
Minha pergunta: o compilador tem um recurso especial que funciona para printf e funções libc similares, ou esse é um recurso que eu poderia usar para minhas próprias funções? Literais de string?