私はいくつかのC++11機能を発見していて、問題があります。メンバー関数「呼び出し」があります
class cscript
{
public:
template <typename ret_t, typename... params>
bool call(ret_t &ret, const char * name, params... parameters);
....
実装:
template <typename ret_t, typename... params>
bool cscript::call(ret_t &ret, const char * name, params... parameters)
{
ret_t (*func)(params...);
func = (decltype(func)) tcc_get_symbol(tcc, name);
if (!func)
return true;
ret = func(parameters...);
return false;
}
リンクすると、次のエラーが表示されます。
obj\Release\main.o:main.cpp:(.text.startup+0xcc)||undefined reference to `bool cscript::call<int, int, int>(int&, char const*, int, int)'|
呼び出し例:
script.call(ret, "sum", 2, 3);
これを機能させる方法について何か提案はありますか?