|
안녕하세요,
루아 스크립트의 사용을 도와주는 루아팅커라는 라이브러리(?)를 사용하려 합니다.
컴파일을 하는데, VC++ 에선 아무문제없이 컴파일이 되나,
C++Builder 6 에선 에러가 나네요.
에러 메세지는 E2108 Improper use of typedef 'RVal' 이라고 납니다.
어떻게 해결해야 할까요? ㅠ,.ㅠ
그부분 소스는 이렇습니다.
template<typename T>
struct mem_caller<T>
{
template<typename RVal>
static void invoke(lua_State *L) { push_::invoke(L,(this_<T>(L)->*func_<RVal(T::*)()>(L))()); }
template<>
static void invoke<void>(lua_State *L) { (this_<T>(L)->*func_<void(T::*)()>(L))(); }
};
//
template<typename T, typename T1=void, typename T2=void, typename T3=void, typename T4=void, typename T5=void>
struct mem_functor
{
template<typename RVal>
static int invoke(lua_State *L) { mem_caller<T,T1,T2,T3,T4,T5>::invoke<RVal>(L); return ret_<RVal>::value; }
};
template<typename RVal, typename T>
void push_func(lua_State *L, RVal (T::*func)())
{
lua_pushcclosure(L, mem_functor<T>::invoke<RVal>, 1);
}
mem_functor 구조체의 invoke 함수에서 에러가 납니다.
도와주세요 ㅠ,.ㅠ 급한데 이것때문에 진행을 못하고 있습니다 흑흑
|