#define SDL_SCANF_VARARG_FUNCV( fmtargnumber ) __attribute__(( format( __scanf__, fmtargnumber, 0 )))
vfscanfにアノテーションを付与するとする:
int vfscanf(FILE *f, const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(2);
これは第2引数がscanf形式の文字列であり, この後にva_listが続くという注釈である. コンパイラやアナライザツールは, その通りになっていないと思われるとき警告を発することがある.
アノテーションの機能のないコンパイラでは何も行わない.
これはSDL_SCANF_FORMAT_STRINGと共に使用できる(そして使用すべきである). これらは少なくともVisual Studio, GCC, Clangが対応している.