Ошибка выдачи функции набора std :: bitset (точка входа в процедуру не найдена) - PullRequest
0 голосов
/ 28 мая 2018

Я изучаю C ++ с помощью веб-сайта learncpp, я на Windows 64bit и использую GCC с C ++ 14.

Я пытался реализовать пример в std :: bitsetэтой главы: http://www.learncpp.com/cpp-tutorial/3-8a-bit-flags-and-bit-masks/

Нет ошибок во время компиляции, но при запуске программы я получаю эту ошибку:

https://puu.sh/AupYw/d0c7fa01a8.png

Вот мой код:

#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 не найдена в библиотеке динамических ссылок»

Заранее спасибо.

...