我试图制作一个用于填充我在游戏黑客中使用的类的宏。让我告诉你我想做什么:
#define pad(loc, size) private: \
char _pad#loc[#size]; \
public:
然后我想用它:
class C_VTable {
public:
float member; // <- public
pad(0x4, 0x30); // <- private im not sure how to make the pad name be like pad0x4
float anothermember; // <- public again
};
我怎么能这样做,因为我得到一个错误说它预期了; 有点乱,但我希望你明白。
非常感谢任何帮助:)
答案 0 :(得分:4)
使用##
粘贴运算符将两个标记组合在一起。另外,请勿使用#
对大小进行字符串化 - 您不希望方括号内有字符串。
#define pad(loc, size) private: \
char __pad##loc[size]; \
public: