我在C程序中有以下结构我试图转换为Swift:
struct record
{ int r;
int c;
int val;
struct record *next;
};
Swift不允许在结构内部指定(引用)指针。 C代码的工作方式允许每个记录包含指向下一条记录的指针,以便轻松迭代记录。
有没有办法强制使用UnsafeMutablePointer或其他东西?
感谢您的任何建议!
答案 0 :(得分:0)
Swift不允许指针(引用)本身的结构。
没错。但是,它允许引用可选的class
:
class record {
var r : Int = 0
var c : Int = 0
var val : Int = 0
var next : record? = nil
};
这就是您所需要的:由于{C}允许next
指针为NULL
,因此您应该可以在Swift中将其设置为nil
。