Приведение целочисленного выражения Z3 к int C / C ++

Я новичок в Z3 и искал ответ на свой вопрос здесь и в Google. К сожалению, мне не удалось.

Я использую Z3 4.0 C / C ++ API. Я объявил неопределенную функциюd: (Int Int) Int, добавил некоторые утверждения и вычислил модель. Пока это работает отлично.

Теперь я хочу извлечь определенные значения функцииd определяется моделью, скажемd(0,0), Следующее утверждение работает, но возвращает выражение, а не значение функции, то есть целое числоd(0,0).

z3::expr args[] = {c.int_val(0), c.int_val(0)};
z3::expr result = m.eval(d(2, args));

Чек

result.is_int();

возвращаетсяtrue.

Мой (надеюсь, не слишком глупый) вопрос, как привести приведенное выражение к int C / C ++?

Помощь очень ценится. Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос