c++ を使用して config.lua ファイルから変数を取得しようとしています。これらの変数を取得するためにチュートリアルから Lua クラスを作成しましたが、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 でコーディングおよびコンパイルしています。
ご協力いただきありがとうございます :)