Собственная ошибка компиляции 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

Решение

Задача ещё не решена.

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

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

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