Проблемы с небольшим битовым кодом C ++

Я попытался написать следующий код в мой компилятор и скомпилировать его:

    #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

Решение

Я думаю, что старые версии bitset::to_string<T>() принимает аргумент шаблона. Так что это должно работать:

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

Другие решения

у bitset нет метода to_string (stl в любом случае не использует to_string). Вы должны перебирать значения самостоятельно.

-1