小C++位集代码的问题

Problems with small C++ bitset code

本文关键字:问题 代码 C++      更新时间:2023-10-16

我尝试将以下代码写入编译器并进行编译:

    #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;

bitset 没有to_string方法(无论如何,STL 不使用to_string)。您应该自己迭代值。