如何对预处理器(宏)进行类型转换以输出 int

How to typecast preprocessor (macros) to output int

我有一个非常简单的宏,我只想将其输出类型转换为 int。怎么做?

#define Numbits(A) (sizeof(A)*CHAR_BIT)

我试过:

#define int Numbits(A)({int val; val = sizeof(A)*CHAR_BIT; return val;})

但它也不起作用

你是说 #define Numbits(A) (int)(sizeof(A)*CHAR_BIT) 没有用吗?