2 zhuce ly zhuce_ly 于 2017.01.16 15:03 提问

bitset在VS2010中不能用unsigned long类型初始化

bitset<> 在vs2008中可以用unsigned long类型初始化。
但是在VS2010中,bitset<> 不能用unsigned long初始化。会出现以下错误:

 1>d:\program files\liyu\documents\visual studio 2010\projects\test2010cpp\test2010cpp\main.cpp(14): error C2679: 二进制“=”: 没有找到接受“unsigned long”类型的右操作数的运算符(或没有可接受的转换)
1>          d:\program files (x86)\microsoft visual studio 10.0\vc\include\bitset(511): 可能是“std::bitset<_Bits> &std::bitset<_Bits>::operator =(const std::bitset<_Bits> &)”
1>          with
1>          [
1>              _Bits=32
1>          ]
1>          尝试匹配参数列表“(std::bitset<_Bits>, unsigned long)”时
1>          with
1>          [
1>              _Bits=32
1>          ]

请各位指点一下,十分感谢。

1个回答

a29562268
a29562268   2017.01.18 19:07

没有指定位数!!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VS2010中bitset类型不能用unsigned long类型初始化
C++ 标准里面定义的初始化bitset对象的方法有: bitset b(u); 其中n为位数,u为unsigned long型。 最近遇到一个问题,需要求一个输入整数中的二进制1的个数。 如输入 int 5,在内存中的存储形式为00000000000000000000000000000101,二进制1的个数为2; int -5, 在内存中的存储形式为1111111111
c++ 中 bitset 与 unsigned char 数组 转化,编译已通过
std::bitset BitsfromByteArray(const unsigned char *bytes,int len) { std::bitset bits ;//= std::bitset(); for (int i=0; i { if ((bytes[i/8]&(1 0)  { bits.set(i); } } return bits; } unsi
C++ 指针(任何一个指针本身的类型都是unsigned long int型)
1.指针数组: 即 数组的元素是指针型; 例:int*pa[2]; 明明是一维的指针数组,竟当作二维数组用。 [cpp] view plain copy //利用指针数组存放单位矩阵   #include    using namespace std;   void main()   {       int line1[]=
c++内置类型的默认初始化
内置类型是编程语言自己定义的一些类型 在C++中内置类型有: 整型: ①整数 int、short和long ②字符型 char和wchar_t ③布尔型 bool 整型可用修饰:unsigned 浮点: float、double和long double
LONG和DWORD
今天看BITMAP的数据结构说明,发现了DWORD和LONG,还以为LONG要更大一些,原来,对于32位的机子,二者都是32位的,4个字节,只不过LONG有一位被用来做符号位。 typedef   long   LONG;  typedef   unsigned
sscanf 格式化输入 的关键 VS2010\VC\crt\src\input.c
VS2010\VC\crt\src\ctype.h #define _ischartype_l(_Char, _Flag, _Locale)    ( ((_Locale)!=NULL && (((_locale_t)(_Locale))->locinfo->mb_cur_max) > 1) ? _isctype_l(_Char, (_Flag), _Locale) : _chvalidch
C++ 指针(任何一个指针本身的类型都是unsigned long int型)
1.指针数组: 即 数组的元素是指针型; 例:int*pa[2]; 明明是一维的指针数组,竟当作二维数组用。 //利用指针数组存放单位矩阵 #include using namespace std; void main() { int line1[]={1,0,0}; //声明数组,矩阵的第一行 int line2[]={0,1,0}; //声明数组,矩阵的第二行 int line3
unsigned long转换为usigned int
-
Java - 处理unsigned类型
Java没有unsigned类型,作者一定很后悔,现在加还来得及。没有unsigned类型,使得java在编解码方面成为残疾。这主要是作者在开始时只是把Java定位为一种脚本语言,要求不是太高。好吧,在Java里把整数分为byte short intlong四种类型,是没有unsigned类型的。那么在处理序列化数据时该怎么办呢? 字面整型常量默认为int型 例如: long  a =
各种基本类型与string的转换
基于C++11标准 如果你用的编译器是基于最新的C++11标准,那么这个问题就变的很简单,因为string>中已经封装好了对应的转换方法: 标准库中定义了to_string(val);可以将其它类型转换为string。还定义了一组stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等转换函数,可以函数,可以分别转化成int、long、double等.    stoi(s