-Werror = format: как может знать компилятор

Я написал этот намеренно неправильный код

printf("%d %d", 1);

составление сg++ а также-Werror=format.

Компилятор дает это очень внушительное предупреждение:

error: format '%d' expects a matching 'int' argument [-Werror=format]

Насколько я вижу, компилятор не может сказать, что код неправильный, потому что строка формата не анализируется до времени выполнения.

Мой вопрос: есть ли у компилятора специальная функция, которая включается для printf и аналогичных функций libc, или это функция, которую я мог бы использовать для своих собственных функций? Строковые литералы?

Ответы на вопрос(2)

Ваш ответ на вопрос