Переменная привязки в exprtk, чтобы вести себя как назначение констановки, но также используйте большинство текущих значC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Переменная привязки в exprtk, чтобы вести себя как назначение констановки, но также используйте большинство текущих знач

Сообщение Anonymous »

У меня есть выражения, когда я хотел бы использовать варианту с применением, но не хочу, чтобы переменная была назначена новыми значениями - вроде как если бы она была константной переменной в C ++. < /p>
Пробое использовал метод add_constant из symbol_table, однако, когда я изменяю значение переменной между вызовами к значению, он, похоже, сохраняет значение переменной, когда выражение было сначала составлено. < /p>
using symbol_table_t = exprtk::symbol_table;
using expression_t = exprtk::expression;
using parser_t = exprtk::parser;

float x = 1.0f;

symbol_table_t symbol_table;
symbol_table.add_constant("x",x);

expression_t expression;
expression.register_symbol_table(symbol_table);

parser_t parser;

expression_string = "x + 3";

parser.compile(expression_string, expression);

expression.value(); // Get 4 which is ok

x = 3;

expression.value(); // Expect 6, but get 4

parser.compile("x := x/3+1", expression); // Want this to fail compilation due to assigning
< /code>
Есть ли способ связать переменную через таблицу Symb, но не разрешать ее назначать, но также убедитесь, что когда выражение ценится для использования его последнего или текущее значение?

Подробнее здесь: https://stackoverflow.com/questions/794 ... so-use-mos
Ответить

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

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

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

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

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