Swift C ++ Interop Clases с деструкторомC++

Программы на C++. Форум разработчиков
Anonymous
Swift C ++ Interop Clases с деструктором

Сообщение Anonymous »

Как мне создать класс 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

Вернуться в «C++»