为什么我总是得到;Call中的额外参数";我在Swift中的初始值设定项
我在init函数中不断得到repeatedValue的错误“调用中的额外参数”。为什么?为什么我总是得到;Call中的额外参数";我在Swift中的初始值设定项,swift,swift-playground,generics,Swift,Swift Playground,Generics,我在init函数中不断得到repeatedValue的错误“调用中的额外参数”。为什么? class Point<T> { /* n dimensional point multiline comments ... */ let point : [T] init(dimensions: Int, rValue: Float = 0.0){ self.point = [T](count: dimensions, repeatedValue:rValue) } 类点{ /
class Point<T> {
/* n dimensional point
multiline comments ...
*/
let point : [T]
init(dimensions: Int, rValue: Float = 0.0){
self.point = [T](count: dimensions, repeatedValue:rValue)
}
类点{
/*n维点
多行注释。。。
*/
让点:[T]
初始(维度:Int,右值:Float=0.0){
self.point=[T](计数:维度,重复值:右值)
}
}具有repeatedValue的init的定义为
Array init(count:Int,repeatedValue:T)
您的
rValue
必须是T
类型。具有repeatedValue的init的定义为
Array init(count:Int,repeatedValue:T)
您的
rValue
必须是T
类型。具有repeatedValue的init的定义为
Array init(count:Int,repeatedValue:T)
您的
rValue
必须是T
类型。具有repeatedValue的init的定义为
Array init(count:Int,repeatedValue:T)
您的
右值
必须是类型T
如果需要默认值,您的T也必须是FloatLiteralConvertible,
这:
Array init(计数:Int,repeatedValue:T)
我不会这么做的。不过,这会起作用,而且更有意义,因为我想你不想看到“猫”之类的东西。。。
解决方案:
class Point<T:FloatLiteralConvertible> {
/* n dimensional point
multiline comments ...
*/
let point : [T]
init(dimensions: Int, rValue: T = 0.0 ){
self.point = [T](count: dimensions, repeatedValue:rValue)
}
}
var pd = Point<Double>(dimensions: 10, rValue: 1.0)
var pf = Point<Float>(dimensions: 10, rValue: 1.0)
dump(pd.point)
dump(pf.point)
类点{
/*n维点
多行注释。。。
*/
让点:[T]
初始(维度:Int,右值:T=0.0){
self.point=[T](计数:维度,重复值:右值)
}
}
var pd=点(尺寸:10,右值:1.0)
var pf=点(尺寸:10,右值:1.0)
卸载(pd点)
卸载(pf.点)
如果需要默认值,则T也必须是FloatLiteralConvertible,
这:
Array init(计数:Int,repeatedValue:T)
我不会这么做的。不过,这会起作用,而且更有意义,因为我想你不想看到“猫”之类的东西。。。
解决方案:
class Point<T:FloatLiteralConvertible> {
/* n dimensional point
multiline comments ...
*/
let point : [T]
init(dimensions: Int, rValue: T = 0.0 ){
self.point = [T](count: dimensions, repeatedValue:rValue)
}
}
var pd = Point<Double>(dimensions: 10, rValue: 1.0)
var pf = Point<Float>(dimensions: 10, rValue: 1.0)
dump(pd.point)
dump(pf.point)
类点{
/*n维点
多行注释。。。
*/
让点:[T]
初始(维度:Int,右值:T=0.0){
self.point=[T](计数:维度,重复值:右值)
}
}
var pd=点(尺寸:10,右值:1.0)
var pf=点(尺寸:10,右值:1.0)
卸载(pd点)
卸载(pf.点)
如果需要默认值,则T也必须是FloatLiteralConvertible,
这:
Array init(计数:Int,repeatedValue:T)
我不会这么做的。不过,这会起作用,而且更有意义,因为我想你不想看到“猫”之类的东西。。。
解决方案:
class Point<T:FloatLiteralConvertible> {
/* n dimensional point
multiline comments ...
*/
let point : [T]
init(dimensions: Int, rValue: T = 0.0 ){
self.point = [T](count: dimensions, repeatedValue:rValue)
}
}
var pd = Point<Double>(dimensions: 10, rValue: 1.0)
var pf = Point<Float>(dimensions: 10, rValue: 1.0)
dump(pd.point)
dump(pf.point)
类点{
/*n维点
多行注释。。。
*/
让点:[T]
初始(维度:Int,右值:T=0.0){
self.point=[T](计数:维度,重复值:右值)
}
}
var pd=点(尺寸:10,右值:1.0)
var pf=点(尺寸:10,右值:1.0)
卸载(pd点)
卸载(pf.点)
如果需要默认值,则T也必须是FloatLiteralConvertible,
这:
Array init(计数:Int,repeatedValue:T)
我不会这么做的。不过,这会起作用,而且更有意义,因为我想你不想看到“猫”之类的东西。。。
解决方案:
class Point<T:FloatLiteralConvertible> {
/* n dimensional point
multiline comments ...
*/
let point : [T]
init(dimensions: Int, rValue: T = 0.0 ){
self.point = [T](count: dimensions, repeatedValue:rValue)
}
}
var pd = Point<Double>(dimensions: 10, rValue: 1.0)
var pf = Point<Float>(dimensions: 10, rValue: 1.0)
dump(pd.point)
dump(pf.point)
类点{
/*n维点
多行注释。。。
*/
让点:[T]
初始(维度:Int,右值:T=0.0){
self.point=[T](计数:维度,重复值:右值)
}
}
var pd=点(尺寸:10,右值:1.0)
var pf=点(尺寸:10,右值:1.0)
卸载(pd点)
卸载(pf.点)