当前位置: 首页 > 面试题库 >

嵌套类型数组:编译器为何抱怨?

谭志用
2023-03-14
问题内容
class ClassA {
    class ClassB {
    }
}
let compiles: [ClassA.ClassB]
let doesNotCompile = [ClassA.ClassB]()

游乐场执行失败:MyPlayground.playground:109:22:错误:无效使用’()’调用非函数类型’[ClassA.ClassB.Type]’的值时,让didNotCompile
= ClassA.ClassB ^ ~~


问题答案:

如您所述,它可以使用以下语法:

let arrayOfClassB: [ClassA.ClassB] = []

但是,[]()如果我们声明一个typealias

typealias InnerClass = ClassA.ClassB
let arrayOfAliasesOfClassB = [InnerClass]()

因此,我想说这是一个错误,let arrayOfClassB = [ClassA.ClassB]()也应该无需输入别名即可工作。

更新 :Apple
已经有一个与此相关的已打开错误。



 类似资料:
  • 在F#中,我试图编写一个函数,给定两个字符串,它将返回第一个字符串中第二个字符串开头的所有索引。我的函数看起来像这样: 问题是在线

  • 我正在尝试使用 JOLT 转换 JSON。此 JSON 由嵌套数组组成,我无法获得正确的转换。 这是原始的JSON。请注意,总会有一个带有单个对象的“结果”数组。此对象将始终包含一个“行”数组。我想要行数组中每个元素的字段。 这是我写的规范: 预期的 JSON 是: 然而,我的规范返回以下输出: 水平可能有问题。但是我想不出来。有人能帮忙吗?

  • 我正在尝试使用JOLT转换JSON。这个JSON由嵌套数组组成,我不能正确地转换它。有人能帮忙吗?谢了。 这是我写的规范。 我期待的JSON是: 然而,我得到了错误的输出。不知怎的,我的嵌套对象正在转换为列表。 我不知道出了什么问题。有人能帮忙吗?

  • 下面的代码可以用clang 6.0.0和g 7.3.0很好地编译(编译标志是),但是不能用vc19.10.25017编译(编译标志是): vc编译错误消息: 错误C2906:“作废A 在这种情况下,什么行为符合标准?

  • 本页包含内容: 嵌套类型实例 嵌套类型的引用 枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义嵌套类型,可以在枚举类型、类和结构体中定义支持嵌套的类型。 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要定义多级嵌套。 嵌套类型实例 下面这个例子定义了一个结

  • 问题内容: 在Java的for-each循环中使用泛型时,出现一个奇怪的编译器错误。这是Java编译器错误,还是我真的在这里遗漏了什么? 这是我全班的: 编译器抱怨for-each所在的行:“类型不匹配无法从元素类型Object转换为String。” 如果我进行了微妙的更改,它将编译为: 我知道确实使用泛型,但是我以完全不相关的方式使用它们。如果我尝试遍历T类型的某些内容并返回a 或某种内容,我可