我尝试将以下代码编写到我的编译器中并编译它:
#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 ++的新手,并不知道这意味着什么,请帮助我。
答案 0 :(得分:2)
我认为bitset::to_string<T>()
的旧版本采用模板参数。所以这应该有效:
cout << bitset<8>(a).to_string<char>() << endl;
答案 1 :(得分:-1)
bitset没有to_string方法(无论如何stl都不使用to_string)。你应该自己迭代值。