以下针对z3的c ++ api代码会导致分段错误:11 (在Mac OS 10.10.2上运行的z3版本4.4.0)
#include "../z3/include/z3++.h"
int main() {
z3::context c;
z3::sort A = z3::sort(c);
z3::expr x = c.constant("x", A);
}
我做错了吗?
答案 0 :(得分:0)
表达式z3::sort(c)
将A初始化为与上下文关联的排序对象,但不是实际(较低级别)排序对象。 (另请参阅C++ example了解如何构建常用的排序。)
我相信目前没有方便的C ++风格的方式来构建未解释的排序。为此,我们需要转到C-API函数Z3_mk_uninterpreted_sort(然后可以使用z3::sort(c, ...)
进行封装。)