从int转换为int32

时间:2011-01-31 19:00:43

标签: c++ c managed-c++

我的c ++代码中有一堆int,我需要更改为int32。和我的布尔相同。为了使用int32和bool32,我需要包含哪个头。一旦我制作它们,我该如何声明它们。我能用int32替换int吗?

例如:

int x;

变为

int32 x;

当我尝试从int更改为int32时,我遇到了很多错误。这里有几个:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

error C2086: 'const int x' : redefinition

3 个答案:

答案 0 :(得分:10)

<cstdint>

如果您的编译器支持它,将获得int32_t,C99固定宽度整数类型。

从来没有听说过bool32,我无法想象它会产生什么样的感觉。

是的,只要您的类型保持基础和/或具有默认构造函数/非隐式构造函数,您只需将int替换为您的类型......具体取决于使用情况。

答案 1 :(得分:1)

最好使用typedef代替实际数据类型。

E.g。

typedef int my_int;
....
my_int var;

变为:

typedef int32 my_int;
....
my_int var;

这样,您只需更改一行代码即可将int的所有实例更改为int32。

答案 2 :(得分:1)

在Windows上,您应该能够使用内置类型__int32。我从来没有听说过32位bool,但是你可以使用typedef。