gpt4 book ai didi

d - 无法推断模板类型?

转载 作者:行者123 更新时间:2023-12-01 11:55:13 26 4
gpt4 key购买 nike

所以我有以下代码:

void invert(T)(T[2][] arr)
{
auto result = new T[2][arr.length];
foreach (i, v; arr)
result[i] = [-v[0], -v[1]];
return result;
}

我称之为:

invert([[5, 6], [6, 7]]);

我得到:

test.d(94): Error: template test.invert(T) does not match any function template declaration
test.d(94): Error: template test.invert(T) cannot deduce template function from argument types !()(int[][])

在不丢失自动推理功能的情况下解决此问题的最简单方法是什么?

最佳答案

问题是您不能拥有作为静态数组的文字。您最终得到一个动态数组 - 在本例中为 int[][] - 而不是您想要的 int[2][]。这个推论工作得很好。这是你给它的类型是错误的。您将必须创建一个正确类型的变量。

关于d - 无法推断模板类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7942642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com