#![feature(unboxed_closures)]
#![feature(fn_traits)]
struct foo;
impl std::ops::Add for foo {
type Output = foo;
fn add(self, x: foo) -> foo {
println!("Add for foo");
x
}
}
impl Fn for foo {
extern "rust-call" fn call(&self) -> Self {
println!("Call for Foo ");
self
}
}
fn main() {
let x = foo;
let y = foo;
x + y;
x();
}
Add
특성을 구현했지만 구조체를 함수로 호출하는 방법을 이해하지 못합니다. 오류가 발생합니다.struct를 호출 가능하게 만드는 방법은 무엇입니까?
error[E0243]: wrong number of type arguments: expected 1, found 0
--> src/main.rs:14:10
|
14 | impl Fn for foo {
| ^^ expected 1 type argument
저는 녹에 익숙하지 않으며, 이런 일이 발생하게하는 방법을 찾을 수 없습니다.
감사합니다 많이! 아주 좋은 설명. –
@ АндрейЛедовских 여러분을 환영합니다. 유용했던 답변을 upvote하고 문제 해결에있어 가장 도움이 된 답변을 수락하는 것을 잊지 마십시오. – Shepmaster