English 中文(简体)
无签名假日
原标题:#define for unsigned long
  • 时间:2009-10-31 03:42:24
  •  标签:

I m attempting to use the #define directive to change all of "ulong" to "unsigned long". Here is an example:

#define ulong unsigned long
ulong idCounter = 0;

可悲的是,我认为它最终用“未签署”而不是“长期签署”取代ul。 我尝试了“草坪(未签名)”,但那是徒劳的。

最佳回答

更好地利用一种类型。 您的宏观可能失败的原因是——在有些地方可能无法直截了当。 考虑:

double x = calc();
ulong v = ulong(x);

在这种情况下,你就得了。

unsigned long v = unsigned long(x);

这并不有效,因为所使用的投放形式与你名称的类型不相符(它必须包含一种简单的形式,就像一个词)。 1. 使用一种类型:

typedef unsigned long ulong;
问题回答

为什么不只使用哪类?

typedef unsigned long ulong;

你的宏观工作 OK:

cpp ulong.c

专 员

# 1 "ulong.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "ulong.c"

unsigned long idCounter = 0;

我最初假定,你已经有一个称为“<代码>ulong的类型,并且试图推翻与预处理器一样的那种类型,但其他人却对它有不同的看法。 如果你真的想要<代码>ulong,那么你就应该像他们所说的那样使用一种类型。





相关问题
热门标签