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