Swig C ++到Lua自定义类型构造函数将字符串识别为双精度

时间:2019-04-17 13:07:24

标签: c++ lua swig

我正在尝试使用Swig将C ++结构返回lua,并且我希望有两个构造函数以string或double作为参数。

struct MyType
{
    MyType(const std::string & arg)
    {
        std::cout << "string constructor\n";
    }

    MyType(double arg)
    {
        std::cout << "double constructor\n";
    }
}

在Lua中奔跑

MyType("3.14")
> double constructor

strInput = "3.14"
print(type(strInput))
> string
MyType(strInput)
> double constructor

此外,它看起来像字符串已被解析为两倍。因此,如果我想从double构造函数中打印参数,则为3.14。

会不会有任何隐式转换成双发生?

0 个答案:

没有答案