Ошибка сегментации только при включении exprtk::collect_variables() в код и вызове его дваждыC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка сегментации только при включении exprtk::collect_variables() в код и вызове его дважды

Сообщение Anonymous »

При повторном запуске и компиляции простого уравнения с помощью ExprTK я сталкиваюсь с ошибкой сегментации или ошибкой границы адреса. Удивительно, но проблема исчезает, когда я исключаю функцию exprtk::collect_variables(), что не имеет никакого смысла, поскольку функция должна просто предоставить мне список всех переменных в уравнении.

Код: Выделить всё

#include "exprtk.h"
#include 

typedef exprtk::symbol_table symbol_table_t;
typedef exprtk::expression expression_t;
typedef exprtk::parser parser_t;

parser_t parser;
expression_t expression;
symbol_table_t symbol_table;

float a = 5.0f;
std::string equation;

void f()
{
symbol_table.clear();

std::vector varList;
exprtk::collect_variables(equation, varList); // DELETE THIS LINE FOR THE SEGFAULT TO GO AWAY

symbol_table.add_variable("a", a);

parser.compile(equation, expression);

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/77855516/segmentation-fault-only-when-including-exprtkcollect-variables-in-the-code-a[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»