我正在尝试使用 c++ 从我的 config.lua 文件中获取一个变量。我从教程中创建了一个 Lua-Class 来获取这些变量,但是当我尝试调用从 config.lua 获取变量的函数时出现错误
以下是代码片段:
LuaScript script("config.lua");
script.get(string("test"));
我在调用“script.get(string(”test));”时收到错误,“没有函数模板的实例与参数列表匹配”
模板函数和特化如下所示:
template<typename T>
T get( const std::string &variableName )
{
if (!L)
{
printError(variableName, "Script not loaded");
return lua_getdefault<T>();
}
T result;
if (lua_gettostack(variableName))
{
result = lua_get<T>(variableName);
}else{
result = lua_getdefault<T>();
}
clean();
return result;
}
专业化:
template<>
inline std::string LuaScript::lua_get<std::string>( const std::string &variableName )
{
std::string s = "null";
if (lua_isstring(L, -1))
{
s = std::string(lua_tostring(L, -1));
}else{
printError(variableName, "Not a string");
}
return s;
}
只是为了获得更多信息,我正在使用 Visual Studio 2012 进行编码和编译。
感谢您的帮助 :)