从 Swift 设置C++指针

Setting a C++ pointer from Swift

本文关键字:指针 C++ 设置 Swift      更新时间:2023-10-16

我在 Swift 应用程序中使用 C++,并尝试在链表中以结构形式传递数据。该结构在我的头文件中定义为:

struct coordinateNode {
float x;
float y;
float z;
struct coordinateNode *next;
};

在 swift 中,我正在尝试设置下一个指针,但得到

解开可选值时意外发现 nil

当我尝试时:

if let v = lastVert {
lastVert!.next.pointee = node
lastVert = node
}

当我尝试时

if let v = lastVert {
lastVert!.next = UnsafeMutablePointer<coordinateNode>(&node)
lastVert = node
}

指针未设置。

如何从 swift 设置此C++指针?

编辑:原来

lastVert!.next = UnsafeMutablePointer<coordinateNode>(&node)

确实有效,我只是错误地检查了结果

原来

lastVert!.next = UnsafeMutablePointer<coordinateNode>(&node)

确实有效,我只是错误地检查了结果