Ошибка в constexpr при создании примера кода DirectX 12
1 ответ
Эта проблема не имеет ничего общего с DirectX 12. Это DirectXMath 3.09 в Windows 10 SDK (14393), который реализован constexpr
поддержка некоторых типов данных для Visual Studio 2015- constexpr
языковая функция не поддерживалась Visual Studio 2013.
Компилятор IntelliSense помечает его как проблему соответствия, но у него нет проблем с построением с помощью "настоящего" компилятора.
В любом случае я исправил это для DirectXMath 3.10, который будет в следующей версии Windows 10 SDK. Вы можете либо проигнорировать это - что, как я сказал, хорошо, потому что он по-прежнему создается без каких-либо ошибок или предупреждений - или вы можете получить последнюю версию DirectXMath из GitHub.
Если вы хотите более целенаправленное исправление, конкретные изменения для решения этой проблемы находятся в этом списке изменений.
Пока мы находимся на тему DirectXMath и
constexpr
, оказывается, есть ошибка с RTM-компилятором VS 2015, которая исправлена в последующих обновлениях. Если вы используете VS 2015 Update или VS 2017 как следует, это не проблема. Но для полноты, есть обходной путь, который обрабатывает VS 2015 RTM, как если бы он был VS 2013 (то есть он не используетconstexpr
если вы не строите с VS 2015 Update 1 или более поздней версии). Смотрите этот список изменений.