在minizinc的输出语句中两次使用var设置函数遇到麻烦

时间:2019-10-22 20:53:36

标签: minizinc

以下程序运行正常。

array[1..2] of var set of 5..8: ar = [{5, 6}, {6, 7}];

function string: format_set_1( var set of int: s ) = "\(fix(s))\t";  
function string: format_set_2( var set of int: s ) = "\(fix(s))\t";  

output
   [format_set_1(ar[1]) ++ format_set_2(ar[2])];

但是当我在输出数组中将format_set_2替换为format_set_1(反之亦然)时,会收到以下错误消息。

MiniZinc: type error: 
function with the same type already defined in C:/Users/rabbott/AppData/Local/Temp/MiniZinc IDE (bundled)-SEkuWd/untitled_model.mzn:4.1

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

此问题是由MiniZinc 2.3.2中的错误引起的。该问题最近在GitHub上提出,并在MiniZinc develop branch上得到了解决。 MiniZinc的下一个版本应该会再次按预期工作。