Я задал очень конкретный вопрос Вот но я понял, где проблема, и она немного более общая.
Видя ВСЕ примеры 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 ++, что не так, как я хочу.
В моем случае у меня есть несколько переменных в строке со случайным именем, и я хочу сопоставить их с двойными переменными внутри контейнера . Пример в связанном вопросе, кажется, предполагает, что это не работает.
Есть идеи?
Задача ещё не решена.
Других решений пока нет …