C语言中实际参数太多,c – 宏的实际参数太多了?
生活随笔
收集整理的這篇文章主要介紹了
C语言中实际参数太多,c – 宏的实际参数太多了?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
碼:
#include
using namespace std;
#define ADD(x,y) ((x)+(y))
int main( int argc, char** argv )
{
cout << ADD(1,2,) << endl;
return 0;
}
編譯器輸出:
1>Compiling…
1>main.cpp
1>c:\warn_test\main.cpp(9) : warning C4002: too many actual parameters for macro ‘ADD’
為什么這不是錯誤?
g(GCC)4.2.1 20070719 [FreeBSD]給出了更合理的(在我看來)輸出:
main.cpp:9:18: error: macro “ADD” passed 3 arguments, but takes just 2
main.cpp: In function ‘int main(int, char**)’:
main.cpp:9: error: ‘ADD’ was not declared in this scope
雖然我不完全確定編譯器認為第三個參數是什么.
編輯:添加完整的gcc輸出和版本信息.
總結
以上是生活随笔為你收集整理的C语言中实际参数太多,c – 宏的实际参数太多了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摩尔庄园太空种子怎么变异
- 下一篇: 超速问题的c语言编程,超速行驶问题--精