意外的类型推断失败:类型参数数量错误

侯赛因·诺鲁普斯(Hossein Noroozpour)

在此示例中,编译器无法推断矩阵类型:

type Mat4x4<T> = [T; 16];

fn main() {
    let m: Mat4x4 = [0.4323f32; 16];
    println!("{:?}", m);
}

工作代码是:

type Mat4x4<T> = [T; 16];

fn main() {
    let m: Mat4x4<f32> = [0.4323f32; 16];
    println!("{:?}", m);
}

这是预期的行为吗?

马修M.

这不是类型推断问题:

type Mat4x4<T> = [T; 16];

fn main() {
    let m: Mat4x4 = [0.4323f32; 16];
    println!("{:?}", m);
}

产生以下错误消息:

error[E0107]: wrong number of type arguments: expected 1, found 0
 --> src/main.rs:4:12
  |
4 |     let m: Mat4x4 = [0.4323f32; 16];
  |            ^^^^^^ expected 1 type argument

这里的抱怨Mat4x4不是类型,而是创建类型模板蓝图

打个比方Mat4x4就是华夫饼铁,Mat4x4<f32>是从华夫饼中出来的华夫饼。如果为您提供华夫饼铁(当然,上面还有枫糖浆),您可能会感到失望!

同样适用于此:当您向编译器提供期望最终产品的蓝图时,它会向您发出信号,表明这不是期望的结果。


您可以提供一个虚拟参数(_),然后将其推断出来:

let m: Mat4x4<_> = [0.4323f32; 16];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在单个参数的情况下,类型推断因参数数量可变而失败

来自分类Dev

错误的参数数量或类型,PL/SQL 中的错误

来自分类Dev

Scala类型参数推断失败

来自分类Dev

Scala类型参数推断失败

来自分类Dev

类型参数数量错误:应该为1,但找到0

来自分类Dev

Oracle 过程 - PLS-00306:参数数量或类型错误

来自分类Dev

高阶函数参数类型的类型推断错误

来自分类Dev

TypeScript根据参数数量创建类型

来自分类Dev

参数数量/类型不匹配

来自分类Dev

结构特征错误:类型参数数量错误:预期1,找到0

来自分类Dev

自身类型和委托类型以进行强制转换以修复objc_msg发送错误的参数数量错误吗?

来自分类Dev

尝试实现方法时,如何解决“类型参数数量错误”的问题?

来自分类Dev

编译器错误“本地调用的类型参数数量不正确”

来自分类Dev

Oracle存储过程PLS-00306:错误的参数数量或类型

来自分类Dev

比较 PLSQL 中的日期时,“调用‘>’的参数数量或类型错误”

来自分类Dev

oci_execute(): ORA-06550: PLS-00306: 参数数量或类型错误

来自分类Dev

方法参数数量可变,每种参数类型不同

来自分类Dev

Scala类型推断失败?

来自分类Dev

Kotlin 类型推断失败

来自分类Dev

如何使TypeScript从数组中推断参数的数量和类型

来自分类Dev

使用Quickcheck测试类型类,参数数量可变

来自分类Dev

C#类型推断因包含默认参数的方法而失败

来自分类Dev

为什么打字稿功能参数类型推断失败?

来自分类Dev

类型错误推断

来自分类Dev

类型推断错误

来自分类Dev

TypeScript:错误的类型推断

来自分类Dev

类型推断错误

来自分类Dev

Scala错误类型推断

来自分类Dev

Haskell推断类型错误

Related 相关文章

热门标签

归档