Собственная ошибка компиляции 3.3.4 на компиляторе MIPS (C++98)

Я компилирую Eigen 3.3.4 под компилятором MIPS C++ Multi-2000 (Green Hill). После того, как я решил проблему макроса выравнивания в Macros.h, я снова столкнулся с проблемой для некоторого выражения шаблона. Найдите подробности ошибки, как показано ниже. Я знаю, что это должно быть проблемой для моего старого компилятора C++, но любой, кто может предложить обходной путь, будет с благодарностью.

"C:\Eigen/Eigen/src/Core/util/Meta.h", line 389
: error:
          expression must have pointer-to-class type
    template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()())>0)>::type * =
 0);
                                                                                           ^

"C:\Eigen/Eigen/src/Core/util/Meta.h", line 389
: error:
          incomplete type is not allowed
    template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()())>0)>::type * =
 0);
                                                                     ^

Таким образом, проблема должна быть внутри выражения, как показано ниже. Но я действительно не могу понять это.

  template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()())>0)>::type * = 0);

Обновление 8/25-> может ли "typename enable_if" вызвать это?

0 ответов

Другие вопросы по тегам