Warum kann ich beim Erstellen eines Arrays einer verschachtelten Struktur nicht die kurze Array-Konstruktorsyntax verwenden? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Array of Nested Type: Warum beschwert sich der Compiler? 3 answers

Betrachten Sie eine Struktur, die in einer anderen Struktur verschachtelt ist:

struct Struct1 {
    struct Struct2 {
        var name: String?
    }
}

Ich möchte ein Array von @ erstellStruct2 Werte. Zuerst habe ich versucht:

var struct2Array = [Struct1.Struct2]()

Aber dies gibt den Compiler-Fehler:

error: invalid use of '()' to call a value of non-function type '[Struct1.Struct2.Type]'
var struct2Array = [Struct1.Struct2]()

Ich kann ein Array erstellen, indem ich den Typ der Variablen deklariere und ein leeres Array verwende, oder mit der ausführlicheren Syntax:

var struct2Array: [Struct1.Struct2] = []
var struct2ArrayVerbose = Array<Struct1.Struct2>()

Aber warum kann ich den Shorthand-Initialisierer nicht für eine verschachtelte Struktur verwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage