Привязка разыменованного нулевого указателя к ссылке имеет неопределенное поведение Xcode 9

Я запускаю проект Objective C на Xcode 9 и сталкиваюсь с этой ошибкой, которая заявляет

РЕДАКТИРОВАТЬ: Использование FBXSDK от AutoDesk. Я думаю, что это связано с версией Clang, которая появилась в Xcode 9 (проект был написан в Xcode 7). Если я правильно понимаю, мне нужно вернуть Clang к более старой версии из этого ссылка на сайт. Та же проблема при использовании Unreal Engine.

Привязка разыменованного нулевого указателя к ссылке имеет неопределенное поведение

Сценарий, который я пытаюсь запустить, следующий

const FbxProperty& StaticInit(FbxObject* pObject, const char* pName, const FbxReference& pValue, bool pForceSet, FbxPropertyFlags::EFlags pFlags=FbxPropertyFlags::eNone)
{
return StaticInit(pObject, pName, FbxGetDataTypeFromEnum(FbxTypeOf(*((FbxReference*)0))), pValue, pForceSet, pFlags);
}

Метод StaticInit

const FbxProperty& StaticInit(FbxObject* pObject, const char* pName, const FbxDataType& pDataType, const FbxReference& pValue, bool pForceSet, FbxPropertyFlags::EFlags pFlags=FbxPropertyFlags::eNone)
{
bool lWasFound = false;
*this = Create(pObject, pDataType, pName, "", true, &lWasFound);
if( pForceSet || !lWasFound )
{
ModifyFlag(pFlags, true);   // modify the flags before we set the value
Set(pValue);            // since we will trigger callbacks in there!
}
ModifyFlag(FbxPropertyFlags::eStatic, true);
return *this;
}

Xcode лежащий в основе *((FbxReference*)0 как ошибка.

Изображение ошибки

0

Решение

Решено путем изменения 0 на 1.

return StaticInit(pObject, pName, FbxGetDataTypeFromEnum(FbxTypeOf(*((FbxReference*)1))), pValue, pForceSet, pFlags);
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]