Swift编写Node类报argument passed to call that takes no argument错误如何解决
Swift报错问题解答
错误原因
- 你当前编写的
Node类仅实现了无参数的默认构造器,未实现开发要求中接收value参数的自定义构造器,调用Node(value:"wash")时系统无法匹配到对应的构造方法,因此抛出参数不匹配的报错。 - 现有代码的默认构造器将
value属性赋值为空格,不符合要求中「初始化为空字符串」的规则。
符合所有开发要求的代码
class Node { var value: String var children = [Node]() // 默认无参构造器 init() { value = "" } // 接收value参数的构造器 init(value: String) { self.value = value } }
修改后代码可直接正常执行let m0 = Node(value:"wash"),不会再触发报错。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

