亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用listTimes方法時無法運行

void?main()?{
??//?方法賦值給變量
??var?fun?=?printHello;
??fun();
??//?方法作為參數傳遞
??List?list?=?[1,?2,?3,?4];
??list.forEach(print);

??List?names?=?["哈",?"王",?"神"];
??print(listTimes(names,?times));
}

///?方法
void?printHello()?{
??print("Hello");
}

///?創建了一個傳入函數的方法
List?listTimes(List?list,?String?times(msg))?{
??for?(int?i?=?0;?i?<?list.length;?i++)?{
????list[i]?=?times(list[i]);
??}
??return?list;
}

String?times(String?msg)?{
??return?msg?*?3;
}

在調用

?print(listTimes(names,?times));

時軟件報錯,提示:

Error: The top level function has type 'String Function(String)' that isn't of expected type 'String Function(dynamic)'.

Change the type of the function or the context in which it is used.

? print(listTimes(names, times));


正在回答

2 回答

times方法在聲明的時候指定參數msg的類型為String,但是在listTimes接收參數聲明的時候定義的是dynamic類型的msg,可以將List listTimes(List list, String times(msg))修改為List listTimes(List list, String times(String msg))

0 回復 有任何疑惑可以回復我~

第一種解決方式 : times方法中入參類型String刪掉;? ?

String?times(msg)?{
??return?msg?*?3;
}

第二種解決方式 : listTimes方法種函數入參 msg加入String

///?創建了一個傳入函數的方法
List?listTimes(List?list,?String?times(String?msg))?{
??for?(int?i?=?0;?i?<?list.length;?i++)?{
????list[i]?=?times(list[i]);
??}
??return?list;
}
1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

使用listTimes方法時無法運行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號