C++ 位集的未解析构造函数 typedef无符号长整数uint32; uint32 c=uint32(-1)-5; 位集y(uint32(c));

C++ 位集的未解析构造函数 typedef无符号长整数uint32; uint32 c=uint32(-1)-5; 位集y(uint32(c));,c++,stl,bitset,C++,Stl,Bitset,此代码生成: FeatureTest.obj:错误LNK2019:未解析的外部符号“类” 标准::位集\uuuCDECL y(无符号长) (?y@@YA?AV?$bitset@$0CA@@std)@@K@Z)在函数_main中引用 我怎样才能在未签名的长时间内完成它 EIDT:看起来这是VS2010中的一个bug-正如错误消息所示,编译器正在解析您的代码,并声明一个函数y。这就是问题的一个例子。在这种情况下,您根本不需要强制转换,c已经是正确的类型。但是如果您需要强制转换,您可以通过将uint3

此代码生成:

FeatureTest.obj:错误LNK2019:未解析的外部符号“类” 标准::位集\uuuCDECL y(无符号长) (?y@@YA?AV?$bitset@$0CA@@std)@@K@Z)在函数_main中引用

我怎样才能在未签名的长时间内完成它


EIDT:看起来这是VS2010中的一个bug-

正如错误消息所示,编译器正在解析您的代码,并声明一个函数
y
。这就是问题的一个例子。在这种情况下,您根本不需要强制转换,
c
已经是正确的类型。但是如果您需要强制转换,您可以通过将
uint32(c)
替换为
(uint32)c
或更好的
static\u cast(c)
来解决此问题,正如错误消息所示,编译器正在将代码解析为声明函数
y
。这就是问题的一个例子。在这种情况下,您根本不需要强制转换,
c
已经是正确的类型。但是如果您需要强制转换,您可以通过将
uint32(c)
替换为
(uint32)c
或更好的
static\u cast(c)
来解决此问题,正如错误消息所示,编译器正在将代码解析为声明函数
y
。这就是问题的一个例子。在这种情况下,您根本不需要强制转换,
c
已经是正确的类型。但是如果您需要强制转换,您可以通过将
uint32(c)
替换为
(uint32)c
或更好的
static\u cast(c)
来解决此问题,正如错误消息所示,编译器正在将代码解析为声明函数
y
。这就是问题的一个例子。在这种情况下,您根本不需要强制转换,
c
已经是正确的类型。但是如果您需要强制转换,您可以通过将
uint32(c)
替换为
(uint32)c
或更好的
静态强制转换(c)来解决此问题

是否有
std::uint32_t
所缺少的
unsigned long
to
uint32
的非必需32位typedef所提供的内容?是否有
std::uint32_t
所缺少的
unsigned long
的非必需32位typedef
uint32
交付?是否有
std::uint32\u t
缺少
无符号长
uint32
的非必需32位typedef?是否有
std::uint32\u t
缺少
无符号长
的非必需32位typedeflong
uint32
交付?我完全不明白为什么需要强制转换/转换。它已经
uint32
。为什么不仅仅是
std::位集y(c)我完全不明白为什么需要强制转换/转换。它已经
uint32
。为什么不仅仅是
std::位集y(c)我完全不明白为什么需要强制转换/转换。它已经
uint32
。为什么不仅仅是
std::位集y(c)我完全不明白为什么需要强制转换/转换。它已经
uint32
。为什么不仅仅是
std::位集y(c)
typedef unsigned long int  uint32;

uint32 c = uint32(-1) - 5;
std::bitset<32> y(uint32(c));