0

I compile Eigen 3.3.4 under Multi-2000 (Green Hill) MIPS C++ compiler. After I solved some align macro issue in Macros.h, I met a problem again for some template expression. Find the Error Details as below. I know it should be some issue for my old C++ compiler, but anyone whom can propose an work around it will be greatly appreciated.

"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);
                                                                     ^

So The Problem must be inside expression as below. But I really can not figure it out.

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

Update 8/25-> whether "typename enable_if" cause this?

Paul R
  • 208,748
  • 37
  • 389
  • 560
Mr.ke
  • 65
  • 1
  • 9

0 Answers0