Я изучаю C ++ с помощью веб-сайта learncpp, я на Windows 64bit и использую GCC с C ++ 14.
Я пытался реализовать пример в std :: bitsetэтой главы: http://www.learncpp.com/cpp-tutorial/3-8a-bit-flags-and-bit-masks/
Нет ошибок во время компиляции, но при запуске программы я получаю эту ошибку:
Вот мой код:
#include <iostream>
#include <iomanip>
#include <cstdint>
#include <cmath>
#include <bitset>
int main()
{
const int option0 = 0;
const int option1 = 1;
const int option2 = 2;
const int option3 = 3;
const int option4 = 4;
const int option5 = 5;
const int option6 = 6;
const int option7 = 7;
std::bitset<8> bits(0x2); // we need 8 bits, start with bit pattern 0000 0010
bits.set(option4); // set bit 4 to 1 (now we have 0001 0010)
/*bits.flip(option5);
bits.reset(option5);
std::cout << "Bit 4 has value: " << bits.test(option4) << '\n';
std::cout << "Bit 5 has value: " << bits.test(option5) << '\n';
std::cout << "All the bits: " << bits << '\n';*/
}
Вы должны знать, что если мы удалим функцию set, ошибка не будет выдана.
Я думаю, что есть проблема в инициализации опции, но не могу ее выяснить: /
Вот (очень неточный) перевод ошибки: «Точка входа в процедуру _ZSt24__throw_out_of_range_fmtPKcz не найдена в библиотеке динамических ссылок»
Заранее спасибо.