c++ - 小型 C++ 位集代码的问题

标签 c++ bitset

我尝试将以下代码写入我的编译器并编译它:

    #include <iostream>
#include <bitset>
using namespace std;

void binary(int a)
{
 cout << bitset<8>(a).to_string() << endl;
}

int main()
{

binary(16);

system("pause");
return 0;    
}

它应该给我一个二进制输出,但我一直收到错误:

In function `void binary(int)': 
no matching function for call to `std::bitset<8u>::to_string()' 

我是 C++ 的新手,真的不知道这是什么意思,请帮助我。

最佳答案

我认为 bitset::to_string<T>() 的旧版本接受一个模板参数。所以这应该有效:

cout << bitset<8>(a).to_string<char>() << endl;

关于c++ - 小型 C++ 位集代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547676/

相关文章:

c++ - C++ 中的 long double 是 IEEE 的 binary128 的实现吗?

java - Java中的或运算(BitSet.class)

java - 使用 BitSet 生成序列号

c++ - 是否有一个 bitset 类在实例化时调整大小,但避免了 boost::dynamic_bitset<> 的额外分配调用?

mongodb - 在 MongoDB 中自动递增以存储唯一用户 ID 的序列

c++ - Boost dynamic_bitset - 将整数值放入一系列位中

c++ - O_EXCL 写出来的字是什么

c++ - 如何比较和存储 2 个 vector 位置的数据元素?

c++ - MPI-Ibcast 用法

c++ - 充满指针的列表类在返回时丢失地址