Как мне создать класс C ++, с которым Swift может взаимодействовать, который имеет деструктор? Например: < /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>
Написание этого кода дает мне ошибку: < /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>
Когда я удаляю деструктор, код работает нормально. Классы в стандартной библиотеке C ++ могут использоваться, если для шаблона создается псевдоним типа, и в этом классе должны быть деструкторы для свободной памяти, так как я могу это добиться?>
Подробнее здесь: https://stackoverflow.com/questions/787 ... destructor
Swift C ++ Interop Clases с деструктором ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Office.Interop.Excel и Office.Interop.Outlook Развертывание по щелчку мыши и Windows 11
Anonymous » » в форуме C# - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-