#define f(x, y) (x+y)
#define g(x, y) (x*y)
#define A 1, 2
#define B 2, 3
int main() {
int a = f(A);
int b = g(A);
int c = f(B);
int d = g(B);
}
不工作,
我怎样才能使它发挥作用?基本思路是我有一个我想传递给两个不同宏的参数列表,而不是每次重复长参数列表。
有没有办法做到这一点? [欢迎您修改f & g;您甚至欢迎您修改A &我称之为宏的方式。唯一的要求是: 1)arguemnt列表只能出现一次 2)它不能被硬编码...所以,如果你的解决方案不,我可以调用宏使用不同的参数
相当工作,但“几乎奏效”(对于你几乎定义),我也想听到它,也许我可以把它变成工作。
谢谢!
编辑:f & g 必须是宏。他们捕获符号名称并操纵它们。
工作的版本,请提供合适的例子,显示你真正想要的东西。 – 2010-02-20 22:27:46