我正在尝试编写一个简单的 C++ 函数,该函数将 std::map 作为参数,并将该函数公开给 Python。我查看了 SWIG 示例,还发现了这个 StackOverflow 帖子。当一个 C++ 函数返回一个 std::map 时,它工作得很好,但我不能让它正确地构造一个。我收到如下所示的错误:
>>> example.take_map(example.map_string_string({'hello': 'world'}))
...
NotImplementedError: Wrong number of arguments for overloaded function 'new_map_string_string'.
Possible C/C++ prototypes are:
std::map< std::string,std::string >(std::less< std::string > const &)
std::map< std::string,std::string >()
std::map< std::string,std::string >(std::map< std::string,std::string > const &)
我在这里做错了什么?