C함수에서 NULL을 리턴해서 lua에 돌려줄때 그러니까 nil이 되는거겠죠.
이 nil을 다시 인자로 넘겨줄때의 상황입니다.
Code: Select all
class CTest
{
public:
CTest() {}
~CTest() {}
CTest *Get( void )
{
return NULL; // NULL을 리턴해줌
}
void Set( CTest *p )
{
}
};
-- lua코드
function LuaCode()
{
local p = obj:Get()
obj:Set( p ) -- 이때 Set이 호출되지 않고 에러가 납니다. no class at first argument
}
사용하려 할때만 에러가 나더군요.
print로 p값을 찍어보니 nil type에 nil 값이더군요.
NULL이 아닌 포인터를 넘겨주면 userdata타입으로 되고 이건 정상 호출되고요. nil일때만 문제가 생깁니다.
이건 어떻게 해결해야 좋을까요?