Swift C ++ Interop -Klasse mit Destruktor

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Swift C ++ Interop -Klasse mit Destruktor

by Anonymous » 12 Jul 2025, 23:01

Wie erstelle ich eine C ++ - Klasse, die Swift mit einem Destruktor zusammenarbeiten kann? Zum Beispiel: < /p>
// C++
namespace Name {
class Foo
{
public:
Foo() = default;
Foo(uint32_t i); // implemented in .cpp file
~Foo(); // implemented in .cpp file
};
}

// Swift
import cxxLib
let bar = Name.Foo(2)
< /code>
Schreiben dieses Codes gibt mir einen Fehler: < /p>
main.swift: error: 'Foo' is unavailable: non-trivial C++ class with trivial ABI is not yet available in Swift
let bar = Name.Foo(2)
^~~
__ObjC.cv:3:19: note: 'Foo' has been explicitly marked unavailable here
public struct Foo {
^
< /code>
Wenn ich den Destruktor entferne, funktioniert der Code gut. Klassen in der C ++ - Standardbibliothek können verwendet werden, wenn ein Typ -Alias für die Vorlage erstellt wird. Diese Klasse muss Zerstörer für den freien Speicher haben. Wie kann ich dies also erreichen?>

Top