3
我有这样的代码:Rust如何在args结尾处理带“...”的函数?
pub type f_t =
::std::option::Option<extern "C" fn(a: ::std::os::raw::c_int, ...)>;
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct Foo {
pub f: f_t,
}
fn main() {
}
它不会编译,因为没有默认Clone
实施功能用“......”在args来结束。
Rust如何在行尾处理这个“...”,它是否与C中的“...”做同样的事情?
Rust无法编译此代码,但如果我评论
, ...
,它编译得很好。有什么区别,为什么一类函数指针实现Clone
而另一类不是?我该如何实现
Clone
这样的功能?
这些被称为[* variadic functions *](https://en.wikipedia.org/wiki/Variadic_function)。 – Shepmaster