Сбой значений с использованием boost :: get - PullRequest
0 голосов
/ 02 мая 2020

Все, что я пытаюсь сделать, это понять, что вообще означает это исключение, поэтому я не хочу прикреплять к нему какой-либо код. Вот полная ошибка: libc++abi.dylib: terminating with uncaught exception of type boost::wrapexcept<boost::bad_get>: boost::bad_get: failed value get using boost::get

1 Ответ

0 голосов
/ 02 мая 2020

Как говорит исключение, boost::get не удалось. Наиболее вероятной причиной является то, что boost::variant, из которого вы пытаетесь get значение, в настоящее время не содержит тип, который вы пытаетесь get. Например, следующее вызовет исключение, которое вы видите, потому что foo в настоящее время содержит int, а не double:

int main (){
    boost::variant<int, double> foo;
    foo = 42;
    std::cout << boost::get<double>(foo);
}

Live Demo

...