使用listTimes方法時(shí)無(wú)法運(yùn)行
void?main()?{ ??//?方法賦值給變量 ??var?fun?=?printHello; ??fun(); ??//?方法作為參數(shù)傳遞 ??List?list?=?[1,?2,?3,?4]; ??list.forEach(print); ??List?names?=?["哈",?"王",?"神"]; ??print(listTimes(names,?times)); } ///?方法 void?printHello()?{ ??print("Hello"); } ///?創(chuàng)建了一個(gè)傳入函數(shù)的方法 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; }
在調(diào)用
?print(listTimes(names,?times));
時(shí)軟件報(bào)錯(cuò),提示:
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));
2020-05-17
times方法在聲明的時(shí)候指定參數(shù)msg的類型為String,但是在listTimes接收參數(shù)聲明的時(shí)候定義的是dynamic類型的msg,可以將List listTimes(List list, String times(msg))修改為L(zhǎng)ist listTimes(List list, String times(String msg))
2019-08-30
第一種解決方式 : times方法中入?yún)㈩愋蚐tring刪掉;? ?
第二種解決方式 : listTimes方法種函數(shù)入?yún)?msg加入String