Several compilation fixes for MSVC and NVCC, basically:

- added explicit enum to int conversion where needed
- if a function is not defined as declared and the return type is "tricky"
  then the type must be typedefined somewhere. A "tricky return type" can be:
  * a template class with a default parameter which depends on another template parameter
  * a nested template class, or type of a nested template class
This commit is contained in:
Gael Guennebaud
2008-07-29 16:33:07 +00:00
parent e0215ee510
commit 842c4f8bfa
17 changed files with 219 additions and 207 deletions

View File

@@ -30,7 +30,7 @@
* \returns the cross product of \c *this and \a other */
template<typename Derived>
template<typename OtherDerived>
inline typename ei_eval<Derived>::type
inline typename MatrixBase<Derived>::EvalType
MatrixBase<Derived>::cross(const MatrixBase<OtherDerived>& other) const
{
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived,3);
@@ -100,7 +100,7 @@ struct ei_perpendicular_selector<Derived,2>
* \sa cross()
*/
template<typename Derived>
typename ei_eval<Derived>::type
typename MatrixBase<Derived>::EvalType
MatrixBase<Derived>::someOrthogonal() const
{
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived);