如何定义一个数组以接受结构中的有序对?

Posted

技术标签:

【中文标题】如何定义一个数组以接受结构中的有序对?【英文标题】:How can I define an array to accept ordered pairs in a struct? 【发布时间】:2018-08-25 18:57:48 【问题描述】:

导入基础

结构轨迹 变量 x: 整数 var y: 整数

让机场:[轨迹] = [(1,1), (2,2)]

产生错误“无法将类型 '(Int, Int)' 的值转换为预期的元素类型 'locus'” 我喜欢编译器接受 'locus' 作为类型 - 我讨厌它不接受 Ints I尝试输入。帮助表示赞赏。

【问题讨论】:

【参考方案1】:

您的文字[(1,1), (2,2)]是一个元组数组。试试:

let aerodrome = [(1,1), (2,2)]

在操场上并选项单击aerodrome,您将获得:

let aerodrome: [(Int, Int)]

如果你想要一个locus 的数组,你需要创建它们的实例。一种方法是使用需要命名参数的自动默认构造函数:

let aerodrome = [locus(x: 1,y: 1), locus(x: 2,y: 2)]

如果您不想使用标签,请写自己的init

【讨论】:

以上是关于如何定义一个数组以接受结构中的有序对?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中定义结构属性以接受线性或角度渐变?

如何对结构体中的数组进行一次性全部赋值?谢谢,比如就是这个意思 b.a[]=,,,,;

数据结构 数组笔记

windows x64 软件约定

数据结构:使用面向对象模拟数组

[数据结构]单向链表插入排序(C语言)