- 759 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 17:56:28 ]
- Squirrel内の関数をCから呼び出すときに可変長引数で引き渡したいが、上手くいかないです。
bool CallSquirrelFunction(const TCHAR* pFuncName, ...) { SQInteger top = sq_gettop(m_vm); sq_pushroottable(m_vm); sq_pushstring(m_vm,pFuncName,-1); if(SQ_SUCCEEDED(sq_get(m_vm,-2))) { sq_pushroottable(m_vm); int nArgCount = 1; //TODO ここに可変長引数でsq_pushしたい(integer,float,string) sq_call(m_vm,nArgCount,false,false); sq_settop(m_vm,top); return true; } sq_settop(m_vm,top); return false; } va_***系マクロ使えば行けるかなと思ったが、無理なのかな。 "%d%f%s"のような型指定リストを渡すのはスマートじゃないけど、これ以外に方法は無いのかな……。 あんまりSquirrelと関係なくてすいません。助言をください。
|

|