当目标为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)
。
答案 0 :(得分:1)
错误是由于SWIG和较旧的C ++编译器误将>>
误认为是右移运算符。插入一个空格:
%template(map_int_map_POINTER_STRUCT) std::map<int, std::map<POINTER, STRUCT> >;
^
here