Я задал очень конкретный вопрос здесь , но я понял, где проблема, и она немного более общая.Видя ВСЕ примеры exprtk и фрагменты кода, каждый использует базовый метод exprtk add_variable как
double variab;
exprtk::symbol_table<double> my_symbol_table;
my_symbol_table.add_variable("name_of_variable", variab);
, а не как
std::vector<double> variab{0.};
exprtk::symbol_table<double> my_symbol_table;
my_symbol_table.add_variable("name_of_variable", variab[0]);
Есть ли причина?Я ничего не могу найти в readme.txt в exprtk, просто он никогда не упоминается, они сразу переключаются на добавление вектора в строковое выражение, соответствующее вектору c ++, а это не тот случай, который мне нужен.
В моем случаеУ меня есть несколько переменных в строке со случайным именем, и я хочу сопоставить их с двойными переменными внутри контейнера .Пример в связанном вопросе, кажется, предполагает, что это не работает.
Есть идеи?