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

Программы на C++. Форум разработчиков
Ответить
Anonymous
 -Werror=format: как компилятор может узнать

Сообщение Anonymous »

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

Код: Выделить всё

printf("%d %d", 1);
компиляция с помощью g++ и -Werror=format.

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

Код: Выделить всё

error: format '%d' expects a matching 'int' argument [-Werror=format]
Насколько я вижу, компилятор не может определить, что код неправильный, поскольку строка формата не анализируется до времени выполнения.

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

Подробнее здесь: https://stackoverflow.com/questions/204 ... piler-know
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»