原文链接:http://cnicholson.net/2009/03/stupid-c-tricks-dowhile0-and-c4127/
// NOISY CODE #define MULTI_LINE_MACRO(VALUE) do { printf("Hello "); printf("world! "); } while (VALUE) int main() { MULTI_LINE_MACRO(0); return 0; }
#pragma warning(disable:4127)
如果添加这句,那么包含改文件的都会被disable
最好是这样
#define MULTI_LINE_MACRO(VALUE) do { printf("Hello "); printf("world! "); __pragma(warning(push)) __pragma(warning(disable:4127)) } while (VALUE) __pragma(warning(pop))
只有这几行是disbale的
是__pragram而不是#program,#program不能这样用,不能让在宏定义里;