I would like to use Eigen's tensor class.
I've installed Eigen 3.3.3 and made sure that my project is picking up the right version (not the older ubuntu package)

```
cout<<EIGEN_WORLD_VERSION<<"."<<EIGEN_MAJOR_VERSION<<"."<<EIGEN_MINOR_VERSION<<endl;

// prints 3.3.3

```

This code works:

```
Tensor<double, 3> t(3,3,3);
t.setConstant(1);

```

But this code fails:

```
t*=5;

```

The error message complains about the `int` type:

```
[ 50%] Building CXX object CMakeFiles/sandbox.dir/src/SandBox/sandbox.cpp.o
In file included from /opt/eigen333/include/eigen3/unsupported/Eigen/CXX11/Tensor:103:0,
                 from /home/lars/programming/fsd_cpp/src/SandBox/sandbox.cpp:3:
/opt/eigen333/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h: In instantiation of ‘Derived& Eigen::TensorBase<Derived, AccessLevel>::operator*=(const OtherDerived&) [with OtherDerived = int; Derived = Eigen::Tensor<double, 3>; int AccessLevel = 1]’:
/home/lars/programming/fsd_cpp/src/SandBox/sandbox.cpp:30:6:   required from here
/opt/eigen333/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h:876:36: error: request for member ‘derived’ in ‘other’, which is of non-class type ‘const int’
       return derived() = derived() * other.derived();

```

I've tried `t*=5.;` but that only changes the error message to `which is of non-class type ‘const double’`

When I change the code to:

```
t=t*5;

```

The error message becomes rather long: <https://pastebin.com/T6kvLaZ9>

And the final version:

```
t=t*5.;

```

Surprisingly, this works. I don't understand why the `t*=5.;` produces an error.