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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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