Есть хидер(ы) (C++), в котором в пространстве имен aiv определена куча всяких классов и ф-й.
Вот метод класса (ф-я, без разницы), которая принимает некий аргумент - класс из того же пространства:
namespace aiv{ class A{...}; ... void func( A& ){...}; };
Собираем, вызываем из питон - не работает: NotImplementedError: Wrong number of arguments for overloaded function 'func'. Possible C/C++ prototypes are: func(A &)
А если так void func( aiv::A& ){...};
то работает.
Я даже понимаю отчего оно - в СВИГЕ есть система контроля типов аргументов (и на ней работет перегрузка), и для нее A и aiv::A вещи разные ес-но. Я тока не понимаю как ей объяснить что это одно и то же... Свиговая команда namespace aiv{...} в i-файле не помогает, симптоматика та же, писать везде aiv:: не true, тем более я их недавно стер (столяи чтоб собирались _wrap.cxx, потом сообразил что туда моно залудить using namespace aiv;).