0

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

    #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++ 新手,真的不知道这意味着什么,请帮助我。

4

2 回答 2

2

我认为旧版本的bitset::to_string<T>()需要一个模板参数。所以这应该工作:

cout << bitset<8>(a).to_string<char>() << endl;
于 2013-01-27T13:19:54.050 回答
-1

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

于 2013-01-27T13:14:13.983 回答