-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

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