SWIG C ++ для Python: предупреждение (362): operator = ignored

Я экспортирую класс C ++ в Python, и я заметил, что во время компиляции SWIG выпустил следующее предупреждение:

Warning(362): operator= ignored 

Я не уверен, почему оператор перегружен, потому что он говорит в документации SWIG , что SWIG способен обрабатывать операторов, таких как оператор присваивания

В моем классе нет ничего особенного, он объявляется следующим образом:

 class Foo { public: Foo(); Foo& operator= (const Foo&); // etc .. }; 

Почему SWIG не создает код оболочки для оператора присваивания и как я могу это исправить?

2 Solutions collect form web for “SWIG C ++ для Python: предупреждение (362): operator = ignored”

В python нет назначений (кроме примитивных типов), только назначение указателей. Если вы хотите создать копию, вам понадобится специальная функция копирования.

Прочтите последнюю строку вашей документации (раздел 31.3.11):

Кроме того, имейте в виду, что некоторые операторы не отображают чисто Python. Например, перегруженные операторы присваивания не сопоставляются с семантикой Python и будут игнорироваться.

  • c ++ back end вызывает уровни обратного вызова, определенные на уровне python, с помощью обертки swig
  • Marshaling PILON PIL Image с использованием SWIG
  • Общая библиотека SWIG и C ++
  • Как изменить версию python в Maya 2013?
  • Как применить карту типа SWIG для аргумента struct с двойной указателем
  • Как установить M2crypto в Windows
  • Обратный вызов Python от SWIG PyObject_Call Segfault
  • Как я могу реализовать класс C ++ в Python, который вызывается C ++?
  • Python - лучший язык программирования в мире.