可以請人給我解釋一下我究竟做錯了什麼,我收到文件的錯誤意外結束,也缺少函數頭,在此先感謝調試錯誤
static char debug[256];
#define DBGPRINT(...) {sprintf_s(debug, 256, __VA_ARGS__); OutputDebugStringA(debug);}
#define CHECK_READ(status, str) while(0){ \
if(0 == status){ \
DBGPRINT("Message %s\n", str); \
return 0; \
} \
}
int main(){
char* str = "hello world";
status = 0;
CHECK_READ(status, str);
return 0;
}
錯誤:
Error line 7 error C2447: '{' : missing function header (old-style formal list?)
Error line 11 error C2447: '{' : missing function header (old-style formal list?)
Error line 15 error C2017: illegal escape sequence
Error line 19 fatal error C1004: unexpected end-of-file found
儘可能不要在C++中使用宏和原始char *字符串。 –
@dark_charlie:在特定情況下,用同樣緊湊的東西來替換宏將會非常複雜。但是當然,char *字符串是邪惡的。 – Vlad
@Vlad:你的宏是NOOP。它可以很好地替換爲空行。 – Mat