Wie kleben Sie Funktionen (oder Funktionszeiger) zu Testzwecken in ein Array?Wie kann ich Funktionszeiger in einem Array speichern?
fn foo() -> isize { 1 }
fn bar() -> isize { 2 }
fn main() {
let functions = vec![foo, bar];
println!("foo() = {}, bar() = {}", functions[0](), functions[1]());
}
Dieser Code in diesem ist der Fehlercode ich Rust playground
:
error: mismatched types:
expected `fn() -> isize {foo}`,
found `fn() -> isize {bar}`
(expected fn item,
found a different fn item) [E0308]
let functions = vec![foo, bar];
^~~
Rust behandelt meine Funktionen (Werte) als verschiedene Typen trotz der gleichen Signaturen aufweisen, die ich überraschend finden.
Ja, das ist ein Duplikat ist. –
Wenn es sich um ein Duplikat handelt, geben Sie an, um was für ein Duplikat es sich handelt, damit wir es schaffen können! Diese Frage hat mir sehr geholfen, im Gegensatz zu anderen (ähnlichen) Fragen mit falschen oder wenig hilfreich akzeptierten Antworten. –