Ich habe eine Struktur mit einem Feld, das ein Funktionszeiger ist. Ich mag das Clone
Merkmal für diese Struktur implementieren, aber ich kann nicht, weil Funktionszeiger kann nicht geklont werden, wenn sie mindestens einen Parameter haben:So klonen Sie einen Funktionszeiger
fn my_fn(s: &str) {
println!("in my_fn {}", s);
}
type TypeFn = fn(s: &str);
#[derive(Clone)]
struct MyStruct {
field: TypeFn
}
fn main() {
let my_var = MyStruct{field: my_fn};
let _ = my_var.clone();
}
macht mir nichts aus ... Die richtige Antwort ist, dass es ein Fehler ist ... Ich kann meinen eigenen Post zwar nicht ablehnen ^^ und ich kann keine Antwort löschen, die akzeptiert wurde ... –
Ich habe die von http empfohlene Methode verwendet : //meta.stackoverflow.com/a/266154/1103681. Aber zögern Sie nicht, die angenommene Antwort zu ändern und einen Kommentar zu hinterlassen. Dann lösche ich meine Antwort. –