我正在尝试使用#define
指令将所有“ulong”更改为“unsigned long”。
这是一个例子:
#define ulong unsigned long
ulong idCounter = 0;
可悲的是,我认为它最终会用“unsigned”代替“ulong”,而不是“unsigned long”。我尝试了“#define ulong (unsigned long)”,但这也不起作用。
最佳答案
最好使用 typedef。您的宏可能失败的原因是 - 它在某些地方可能在语法上无效。考虑:
double x = calc();
ulong v = ulong(x);
在这种情况下,你会得到
unsigned long v = unsigned long(x);
这是无效的,因为使用的转换形式与您命名类型的方式不兼容(它必须由更简单的形式组成,例如单个单词)。使用类型定义:
typedef unsigned long ulong;
关于c - #define 为无符号长整型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653332/