在 minizinc 的输出语句中两次使用 var set 的函数时遇到问题
Having trouble using a function of a var set twice in an output statement in 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
怎么回事?
此问题是由 MiniZinc 2.3.2 中的错误引起的。最近在 GitHub and has been fixed on the MiniZinc develop branch 上提出了这个问题。下一个版本的 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
怎么回事?
此问题是由 MiniZinc 2.3.2 中的错误引起的。最近在 GitHub and has been fixed on the MiniZinc develop branch 上提出了这个问题。下一个版本的 MiniZinc 应该会再次按预期工作。