在 C++ 中?,string,dictionary,swig"/>

首页 > 解决方案 > 我如何在 go to typemap 中使用 map[string][string] 来映射在 C++ 中?

问题描述

当我%template(map_string_string) map<string, string>在我的 swig.i 中使用时,会在 c++ 中使用类似的函数:

void add(map<string, string>& map_){
// code implementation.
}

在我使用命令:swig -go -cgo -intgosize 64 -c++ swig.i 后,生成了一个 interface.go:

// part of my interface.go
type Map_string_string interface {
    Swigcptr() uintptr
    SwigIsMap_string_string()
    Size() (_swig_ret uint)
    Empty() (_swig_ret bool)
    Clear()
    Get(arg2 string) (_swig_ret string)
    Set(arg2 string, arg3 string)
    Del(arg2 string)
    Has_key(arg2 string) (_swig_ret bool)
}

然后,我在 main.go 中调用了 add 函数,但失败了。

var argcInfo = make(map[string]string)
add(argcInfo)

我想在 go 中使用 swig 为这个函数 add(map<string, string>& map_) 生成一个接口,我该怎么做?感谢您的时间和回复。

标签: stringdictionaryswig

解决方案


推荐阅读