답변 주셔서 감사합니다.
처음 질문을 올리고 나서 인터넷을 여기저기 뒤져보니
SquirrelObject root = SquirrelVM::GetRootTable();
SquirrelObject vector3class = root.GetValue("Vector3");
SquirrelObject so =
SquirrelVM::CreateInstance(vector3class);
CVector3* newv = new CVector3(pVal[0], pVal[1],
pVal[2]);
so.SetInstanceUP(newv);
return sa.Return(so);
이런 방법이 있어서 우선 해보았더니 동작하길래 그렇게 두기로 했었습니다.
그런데, 답변 주신 방법데로 해보았더니 역시 동일하게 동작하고 코드도 훨씬 간결하군요.
push_Vector3()의 내부를 trace 해보니 위와 같은 원리로 더 안전하게 코드가 구성되어 있어서
이 방법이 정답인 것 같습니다.
감사합니다.