unsupported/Eigen/CXX11/Tensor cwiseMin compilation errors in MSVC v142, c++14, Eigen 3.3.8
#include <unsupported/Eigen/CXX11/Tensor>
Eigen::Tensor<float, 3> t(2, 2, 2);
t(0, 0, 0) = -1;
t(0, 0, 1) = 1;
std::cout << t.cwiseMin(0) << std::endl;
Compilation has below errors. #include <Eigen/Dense> compiled fine with the Eigen::Matrix cwiseMin. The problem happens with the Tensor.
Error C2825 'RhsXprType': must be a class or namespace when followed by '::' \packages\eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 149
Error C2510 'RhsXprType': left of '::' must be a class/struct/union \unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 150
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 149
Error C2504 'Eigen::internal::traits<T>': base class undefined \eigen-3.3.8\Eigen\src\Core\util\ForwardDeclarations.h 23
Error C2039 'StorageKind': is not a member of 'Eigen::internal::traits<RhsXprType>' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 154
Error C2146 syntax error: missing '>' before identifier 'StorageKind' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 154
Error C2062 type 'unknown-type' unexpected \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 154
Error C2039 'ret': is not a member of '`global namespace'' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 154
Error C2238 unexpected token(s) preceding ';' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 154
Error C2039 'Index': is not a member of 'Eigen::internal::traits<RhsXprType>' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 157
Error C2825 'RhsXprType': must be a class or namespace when followed by '::' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 159
Error C2510 'RhsXprType': left of '::' must be a class/struct/union \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 159
Error C3646 'RhsNested': unknown override specifier \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 159
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 159
Error C2065 'RhsNested': undeclared identifier \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 161
Error C2923 'Eigen::internal::remove_reference': 'RhsNested' is not a valid template type argument for parameter 'T' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 161
Error C2955 'Eigen::internal::remove_reference': use of class template requires template argument list \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 161
Error C2039 'StorageKind': is not a member of 'Eigen::internal::traits<Derived>' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 196
Error C3646 'StorageKind': unknown override specifier \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 196
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 196
Error C2825 'RhsXprType': must be a class or namespace when followed by '::' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 211
Error C2510 'RhsXprType': left of '::' must be a class/struct/union \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 211
Error C2825 'RhsXprType': must be a class or namespace when followed by '::' \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 216
Error C2510 'RhsXprType': left of '::' must be a class/struct/union \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 216
Error C2460 'Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_min_op<float,float>,const Derived,const int>::m_rhs_xpr': uses 'Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_min_op<float,float>,const Derived,const int>', which is being defined \eigen-3.3.8\unsupported\Eigen\CXX11\src\Tensor\TensorExpr.h 216