Я использую boost:: python для оболочки класса С++. Этот класс не позволяет создавать конструкторы копирования, но модуль python всегда хочет его создать.
Класс С++ выглядит так (упрощенный)
class Foo {
public:
Foo(const char *name); // constructor
private:
ByteArray m_bytearray;
};
Класс ByteArray наследуется от boost:: noncopyable, поэтому Foo не имеет конструкторов копирования.
Здесь заглушка модуля Python:
BOOST_PYTHON_MODULE(Foo)
{
class_<Foo>("Foo", init<const char *>())
;
}
При компиляции модуля boost:: python я получаю ошибки, что конструктор копирования для Foo не может быть создан, потому что ByteArray наследует от boost:: noncopyable.
Как отключить конструкторы копирования в моем модуле python?
Спасибо Christoph