C++函数里面可以使用宏定义吗
发布网友
发布时间:2023-08-09 22:15
我来回答
共2个回答
热心网友
时间:2024-11-29 10:02
函数里可以使用宏,但一般写程序都放在前面。如果放在函数里则宏的作用域较小,在定义宏之前不能使用该宏,而且改变该宏的值时不容易找到。
例:
#include "iostream.h"
int Fun(int a);//函数声明
int main()
{
int a;
a=2;
cout<<a<<endl;
a=Fun(a);
cout<<a<<endl;
return 0;
}
int Fun(int a)
{
#define AAA 5;
a=AAA;
return a;
}
结果为:
2
5
所以说在函数中可以使用宏。
再如:
#include "iostream.h"
int Fun(int a);//函数声明
int main()
{
int a;
a=2;
cout<<a<<endl;
a=AAA;//****在该处使用宏提示没有定义********
cout<<a<<endl;
return 0;
}
int Fun(int a)
{
#define AAA 5;
a=AAA;
return a;
}
所以函数中定义的宏的作用域较小,只有在定义的后面可以使用。
总结:建议写程序时把用到的宏都放到前面,而且该变宏的值时也很容易找到。
热心网友
时间:2024-11-29 10:02
一般都是在函数外定义,中函数里定义作用域小,有可能会重名,不提倡