我正在尝试使用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。
会不会有任何隐式转换成双发生?