【发布时间】:2014-06-23 15:40:22
【问题描述】:
我正在尝试在 D 中编写一些非常简单的代码,但我在使用其中一个标准库模板函数时遇到了一些问题(具体来说,nextPermutation 来自 std.algorithm)。
我要做的关键是创建泛数字数字的所有排列(即,包括所有值 1 到 9 的数字恰好一次)。
为此,我做了以下工作:
import std.algorithm;
import std.conv;
int[] pandigitals()
{
char[] initial = "123456789".dup;
auto pan = [to!int(initial)];
while(nextPermutation!(initial)) {
pan ~= to!int(initial);
}
return pan;
}
这给了我错误:
错误:无法解析 nextPermutation 的类型!(初始)
我也尝试过明确设置类型:
while(nextPermutation!("a<b", char[])(initial))
但是,这会给出一个错误,指出它无法匹配模板:
错误:模板实例 std.algorithm.nextPermutation!("a
调用的正确形式是什么?
【问题讨论】: