При указании неверного количества аргументов для printf ():
printf("%s", "foo", "bar");
или когда, предоставляя аргументы неправильного типа:
printf("%d", "foo");
gcc может предупредить об этомошибки:
$ gcc -Wformat printf_too_many_arguments.c
printf_warnings.c: In function `main':
printf_warnings.c:5: warning: too many arguments for format
printf_warnings.c:5: warning: too many arguments for format
$ gcc -Wformat printf_argument_of_wrong_type.c
printf_warnings.c: In function `main':
printf_warnings.c:5: warning: format `%d' expects type `int', but argument 2 has type `char *'
printf_warnings.c:5: warning: format `%d' expects type `int', but argument 2 has type `char *'
Как получить такие предупреждения в Visual Studio 2005?
- Дейв