C++ SWIG:向量中包含无法识别的模板类型
我无法从这样的定义中获得有效的SWIG输出:C++ SWIG:向量中包含无法识别的模板类型,c++,templates,namespaces,swig,C++,Templates,Namespaces,Swig,我无法从这样的定义中获得有效的SWIG输出: std::vector< namespaceA::refPtr< namespaceB::myObj > > 然后我声明我的向量: %template(MyObjRefPtrVector) std::vector< MyObjRefPtr > > // compiles but inner types not resolved %template(MyObjRefPtrVector)std::vector
std::vector< namespaceA::refPtr< namespaceB::myObj > >
然后我声明我的向量:
%template(MyObjRefPtrVector) std::vector< MyObjRefPtr > > // compiles but inner types not resolved
%template(MyObjRefPtrVector)std::vector>//编译但未解析内部类型
它编译和SWIG生成四种类型:
- SWIGTYPE_p_std_vectorNamespacea_refPtrTnamespaceB__MyObj_t_t
- SWIGTYPE_p_MyObjRefPtr
- MyObjRefPtr
- 肌反射记录器
MyObjRefPtr
正常。
类MyObjRefPtrVector
已生成,但方法add
、set
和get
将SWIGTYPE\u p\u MyObjRefPtr
作为参数,而不是MyObjRefPtr
有人能告诉我我的代码哪里错了吗?我就是想不出来 而不是
%template(MyObjRefPtrVector) std::vector< MyObjRefPtr > >
%模板(MyObjRefPtrVector)std::vector>
模板声明应该是
%template(MyObjRefPtrVector) std::vector< namespaceA::refPtr< namespaceB::MyObj > >
%模板(MyObjRefPtrVector)std::vector>
%template(MyObjRefPtrVector) std::vector< MyObjRefPtr > >
%template(MyObjRefPtrVector) std::vector< namespaceA::refPtr< namespaceB::MyObj > >