【发布时间】:2014-12-06 06:54:15
【问题描述】:
我对 C 有点陌生,所以我还在学习。我无法让预处理器宏按照我想要的方式工作。情况就是这样,我有一个这样的结构:
struct super {
int data1;
int data2;
int condition;
};
我想创建一个这样的宏:
#define getdata(s) (s.condition ? s.data1 : s.data2)
这样我就可以做这样的事情:
getdata(s) = 4 // stores in data1 if condition, data2, if not.
但这并不完全奏效。
为什么它不起作用,我该如何纠正它?
【问题讨论】:
-
有线,但很有趣 +1。但是为什么要getdata?您有什么想要完成完成的吗?
标签: c c-preprocessor conditional-operator