我的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
答案 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。