0

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

从文档中,尝试使用

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)

4

1 回答 1

1

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

%template(map_int_map_POINTER_STRUCT) std::map<int, std::map<POINTER, STRUCT> >;
                                                                             ^
                                                                          here
于 2013-06-22T05:55:12.857 回答