如何正确使用std :: map <int,std :: map <pointer,=“”struct =“”>&gt;在SWIG?</int,>

时间:2013-06-21 21:02:36

标签: swig

当目标为C#时,如何在SWIG中正确使用std::map<int, std::map<POINTER, STRUCT>>

从文档中,尝试使用

namespace std 
    {
        %template(map_POINTER_STRUCT) map<POINTER, STRUCT>;
        %template(map_int_map_POINTER_STRUCT) std::map<int, std::map<POINTER, STRUCT>>;
    } 

但SWIG仍然提供错误Error: Syntax error in input(3)

1 个答案:

答案 0 :(得分:1)

错误是由于SWIG和较旧的C ++编译器误将>>误认为是右移运算符。插入一个空格:

%template(map_int_map_POINTER_STRUCT) std::map<int, std::map<POINTER, STRUCT> >;
                                                                             ^
                                                                          here