Я получил эту ошибку при попытке скомпилировать следующий код с помощью xcode. Он без проблем скомпилирован Visual Studio на Windows.
template <typename OutT, typename MayaArrayT>
void DumpMayaArray(std::vector<OutT>& out, const MayaArrayT& source)
{
using MayaElementT = decltype(MayaArrayT()[unsigned int()]); // error happens in this line!
static_assert(std::is_same<MayaElementT, OutT&>::value, "array type mismatch");
Что этот фрагмент кода должен сделать, это получить тип элемента MayaArrayT из возвращаемого типа ::operator[]( unsigned int index );
К сожалению, есть нет другого способа получить тип элемента MayaArrayT.