0

我在 Multi-2000 (Green Hill) MIPS C++ 编译器下编译 Eigen 3.3.4。在我解决了 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”是否会导致这种情况?

4

0 回答 0