第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

特征和結(jié)構(gòu)使用相同的方法名稱時如何調(diào)用方法?

特征和結(jié)構(gòu)使用相同的方法名稱時如何調(diào)用方法?

Git
LEATH 2019-12-06 11:14:21
該程序之所以死是因為無限遞歸:use std::any::Any;trait Foo {    fn get(&self, index: usize) -> Option<&Any>;}impl Foo for Vec<i32> {    fn get(&self, index: usize) -> Option<&Any> {        Vec::get(self, index).map(|v| v as &Any)    }}fn main() {    let v: Vec<i32> = vec![1, 2, 4];    println!("Results: {:?}", v.get(0))}編譯器本身對此發(fā)出警告:warning: function cannot return without recurring  --> src/main.rs:8:5   |8  |       fn get(&self, index: usize) -> Option<&Any> {   |  _____^ starting here...9  | |         Vec::get(self, index).map(|v| v as &Any)10 | |     }   | |_____^ ...ending here   |   = note: #[warn(unconditional_recursion)] on by defaultnote: recursive call site  --> src/main.rs:9:9   |9  |         Vec::get(self, index).map(|v| v as &Any)   |         ^^^^^^^^^^^^^^^^^^^^^   = help: a `loop` may express intention better if this is on purpose為什么在這種情況下通用調(diào)用語法不起作用?編譯器不明白,我想打電話給Vec::get沒有Foo::get。如果我不想更改函數(shù)名稱,該如何解決?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 537 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號