如何将通用结构作为函数参数

Hao Li

我试图编写一个将通用结构作为参数的函数:

struct S<T> {
    v: T,
}

fn foo(a: &S) {
    a.v
}

但是会发生错误:

error[E0107]: wrong number of type arguments: expected 1, found 0
 --> src/main.rs:5:12
  |
5 | fn foo(a: &S) {
  |            ^ expected 1 type argument

error: aborting due to previous error

第一次更新

更改为

struct S<T> {
    v: T,
}

fn foo<T>(a: &S<T>) -> T {
    a.v
}

发生另一个错误:

error[E0507]: cannot move out of `a.v` which is behind a shared reference
 --> src/main.rs:6:5
  |
6 |     a.v
  |     ^^^ move occurs because `a.v` has type `T`, which does not implement the `Copy` trait

error: aborting due to previous error

第二次更新

终于,我得到了我想要的:

struct S<T> {
    v: T,
}

fn foo<T: Copy>(a: &S<T>) -> T {
    a.v
}
教育

您错过了通用参数

struct S<T> {
    v: T,
}

fn foo<T>(a: S<T>) -> T {
    a.v
}

Or use the Copy bound

fn foo<T: Copy>(a: &S<T>) -> T {
  a.v
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将结构 * 作为函数的参数

来自分类Dev

如何将结构作为参数传递给函数?

来自分类Dev

如何将结构作为参数传递给Java函数或如何从jni返回到Java

来自分类Dev

如何将结构作为参数传递给Java函数或如何从jni返回到Java

来自分类Dev

如何将函数作为参数传递

来自分类Dev

Rust如何将结构作为函数参数和返回值处理?

来自分类Dev

如何将任意lambda作为参数传递给函数(以获取命名层次结构)?

来自分类Dev

如何将嵌套的结构数组作为参数传递给函数?

来自分类Dev

如何将指针传递给在另一个结构内部声明的结构作为函数参数?

来自分类Dev

如何将类型参数作为函数参数发送

来自分类Dev

如何将函数作为参数传递给参数?

来自分类Dev

Python:numba,构造函数如何将函数作为参数?

来自分类Dev

如何将函数作为参数传递给transform()函数?

来自分类Dev

如何将字典作为函数参数传递?

来自分类Dev

Swift:如何将闭包作为函数参数传递

来自分类Dev

如何将元组作为函数参数传递

来自分类Dev

如何将通道作为参数传递给函数?

来自分类Dev

Rust:如何将Option <trait>作为函数参数传递?

来自分类Dev

如何将.txt文件作为函数参数传递

来自分类Dev

如何将多个枚举值作为函数参数传递

来自分类Dev

Python:如何将列表作为参数传递给函数?

来自分类Dev

如何将参数作为函数传递给变量?

来自分类Dev

如何将向量作为函数参数传递给指针

来自分类Dev

如何将数组作为函数参数传递?

来自分类Dev

如何将函数作为参数传递给OpenSCAD模块?

来自分类Dev

如何将元组作为参数传递给divmod()函数

来自分类Dev

PHP:如何将数组作为函数参数传播

来自分类Dev

如何将函数指针作为类模板参数传递?

来自分类Dev

如何将多个列表值作为函数参数传递?

Related 相关文章

  1. 1

    如何将结构 * 作为函数的参数

  2. 2

    如何将结构作为参数传递给函数?

  3. 3

    如何将结构作为参数传递给Java函数或如何从jni返回到Java

  4. 4

    如何将结构作为参数传递给Java函数或如何从jni返回到Java

  5. 5

    如何将函数作为参数传递

  6. 6

    Rust如何将结构作为函数参数和返回值处理?

  7. 7

    如何将任意lambda作为参数传递给函数(以获取命名层次结构)?

  8. 8

    如何将嵌套的结构数组作为参数传递给函数?

  9. 9

    如何将指针传递给在另一个结构内部声明的结构作为函数参数?

  10. 10

    如何将类型参数作为函数参数发送

  11. 11

    如何将函数作为参数传递给参数?

  12. 12

    Python:numba,构造函数如何将函数作为参数?

  13. 13

    如何将函数作为参数传递给transform()函数?

  14. 14

    如何将字典作为函数参数传递?

  15. 15

    Swift:如何将闭包作为函数参数传递

  16. 16

    如何将元组作为函数参数传递

  17. 17

    如何将通道作为参数传递给函数?

  18. 18

    Rust:如何将Option <trait>作为函数参数传递?

  19. 19

    如何将.txt文件作为函数参数传递

  20. 20

    如何将多个枚举值作为函数参数传递

  21. 21

    Python:如何将列表作为参数传递给函数?

  22. 22

    如何将参数作为函数传递给变量?

  23. 23

    如何将向量作为函数参数传递给指针

  24. 24

    如何将数组作为函数参数传递?

  25. 25

    如何将函数作为参数传递给OpenSCAD模块?

  26. 26

    如何将元组作为参数传递给divmod()函数

  27. 27

    PHP:如何将数组作为函数参数传播

  28. 28

    如何将函数指针作为类模板参数传递?

  29. 29

    如何将多个列表值作为函数参数传递?

热门标签

归档