主题:请问:BCC55编译器是不是对宏定义作了限制
greateking
[专家分:0] 发布于 2006-02-20 11:53:00
请问:BCC55编译器是不是对宏定义作了限制?
我定义以下的宏
#define VALIDSQUARE (x) (x)*(x)
作如下操作
cout<<VALIDSQUARE (7) ;
编译时提示错误。
那么,BCC55编译器对宏定义还有哪些限制呢?
回复列表 (共4个回复)
沙发
erping [专家分:3660] 发布于 2006-02-20 13:31:00
#define VALIDSQUARE(x) ((x)*(x)) //不要留空格
板凳
greateking [专家分:0] 发布于 2006-02-20 17:39:00
可编译后仍然报错:
Error E2451 test.cpp 9: Undefined symbol 'x' in function main(int,char * *)
以下是我的程序:
#define VALIDSQUARE (x) ((x)*(x))
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout<<VALIDSQUARE (6) ;
return 0;
}
3 楼
erping [专家分:3660] 发布于 2006-02-20 18:44:00
[quote]可编译后仍然报错:
Error E2451 test.cpp 9: Undefined symbol 'x' in function main(int,char * *)
以下是我的程序:
#define VALIDSQUARE (x) ((x)*(x))
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout<<VALIDSQUARE (6) ;
return 0;
}[/quote]
我已经说过不要留空格!!!!
4 楼
greateking [专家分:0] 发布于 2006-02-20 19:21:00
太好了,编译通过了,非常感谢。
给你评个满分吧。
我来回复