Некоторые компиляторы жалуются, когда переменные фактически никогда не используются ни для чего.например:
int main(int argc, char **argv) {
return 0;
}
Дает:
Output from llvm C/C++/Fortran front-end (llvm-gcc)
/tmp/webcompile/_7618_1.c: In function 'main':
/tmp/webcompile/_7618_1.c:9: warning: unused parameter 'argc'
/tmp/webcompile/_7618_1.c:9: warning: unused parameter 'argv'
Странно, я могу просто избавиться от этих предупреждений, используя ваш макрос:
#define USE(x) (x) = (x)
int main(int argc, char **argv) {
USE(argc); /* get rid of warnings */
USE(argv); /* get rid of warnings */
return 0;
}