dynamic_cast가 NULL을 리턴하는 문제 발생 
원도우에서는 잘 돌아가는데 안드로이드폰에 삽입하면 
dynamic_cast가 NULL을 리턴한다.

\cocos2d\cocos2dx\include\CCString.h

        virtual bool isEqual(const CCObject* pObject)
        {
            bool bRet = false;
            const CCString* pStr = dynamic_cast<const CCString*>(pObject);
            if (pStr != NULL)
            {
                if (0 == m_sString.compare(pStr->m_sString))
                {
                    bRet = true;
                }
            }
            return bRet;
        } 

아래와 같이 강제 형변환으로 수정해 주면 된다.
이와 같이 수정해서 정상동작하는걸 보면  
dynamic_cast 가 변환될 때 뭔가 문제 인거 같은데... 힐끔 찾아봤는데 문제점이 안나와서 패스... 아시는 분 댓글 달아주세욤~
 
        virtual bool isEqual(const CCObject* pObject)  
        {
            bool bRet = false;
            const CCString* pStr = (CCString*)(pObject);
            if (pStr != NULL)
            {
                if (0 == m_sString.compare(pStr->m_sString))
                {
                    bRet = true;
                }
            }
            return bRet;
        }


 

+ Recent posts