我的问题很简单(也许不是解决办法.)
我定义了一个通用指针:
data class pTp<T>( // It's a generic wrap class for scalar type T
var v:T
)我想知道这个通用指针是如何处理许多结构化数据的:
data class Agenda (
var name: String="",
var address: String=""
)如果我想在函数中使用该类型,那么没有问题:
fun example(...., pAg: pTp<Agenda>, .....){
}下面的函数调用工作平稳。
var agen: pTp<Agenda> = pTp(Agenda())
... example(...,pAg=agen,...)或
... example(...,pAg=pTp(Agenda()),...)但是,下面的代码对于这个参数有一个默认值--它不工作.
fun example(...., pAg: pTp<Agenda>=pTp<Agenda>(Agenda()), .....){
}都不是
fun example(...., pAg: pTp<Agenda>=pTp>(Agenda()), .....){
}但是,这是我在调用者初始化时使用的相同的代码!
所以,我不知道如何进行初始化。
更新:正确的答案如下。只需在=之前使用一个空格。太疯狂了!
发布于 2020-09-21 19:38:43
请使用下一种语法,它将起作用:
fun example(pAg: pTp<Agenda> = pTp(Agenda())) {
// ...
}https://stackoverflow.com/questions/63998839
复制相似问题