回 帖 发 新 帖 刷新版面

主题:请问:BCC55编译器是不是对宏定义作了限制

请问:BCC55编译器是不是对宏定义作了限制?

我定义以下的宏
#define VALIDSQUARE (x)  (x)*(x)
作如下操作
cout<<VALIDSQUARE (7) ;
编译时提示错误。


那么,BCC55编译器对宏定义还有哪些限制呢?

回复列表 (共4个回复)

沙发


                   
#define VALIDSQUARE(x)  ((x)*(x)) //不要留空格

板凳

可编译后仍然报错:
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 楼

[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 楼

太好了,编译通过了,非常感谢。
给你评个满分吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册