Ошибка сегментации только при включении 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]

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