Re: [eigen] Visual C++ 2005 - error c2783 can't deduce template argument for type T |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
It's not released, it's in beta and there are a couple of source-incompatible
changes to come soon; but nevertheless we warmly recommend using eigen2
instead of eigen1 for any new project.
Cheers,
Benoit
On Friday 31 October 2008 23:03:21 Mark B wrote:
> Oh.. thanks for the info... i thought i saw on the website that eigen
> 2 was not yet released... I"ll have to go back and check that :D
>
> Mark
>
> On Fri, Oct 31, 2008 at 10:33 AM, Benoît Jacob <jacob@xxxxxxxxxxxxxxx>
wrote:
> > Oooh I see... you're talking about Eigen 1 !!
> >
> > Just FYI Eigen 2 is in beta right now, and for a long time now all effort
> > has been focused on it. Eigen 2 supports Visual C++. I don't remember
> > exactly what was the status of Eigen 1 support with Visual C++, so this
> > issue might not be the only one.
> >
> > Maybe you might want to switch to Eigen 2 anyway? It has many advantages
> > over Eigen 1, including full Visual C++ support, although I don't know
> > how well Visual C++ performs (the quality of the C++ compiler matters a
> > lot for Eigen 2).
> >
> > Cheers,
> > Benoit
> >
> > On Friday 31 October 2008 17:45:22 Mark B wrote:
> >> Vector3d test;
> >> test.isZero();
> >>
> >> That should reproduce the problem in Visual C++ 2005 Express Edition.
> >> Here is the error:
> >>
> >> 1>h:\collision\eigen\vectorbase.h(579) : error C2783: 'T
> >> Eigen::Util::epsilon(void)' : could not deduce template argument for
> >> 'T'
> >> 1> h:\collision\eigen\util.h(79) : see declaration of
> >> 'Eigen::Util::epsilon'
> >> 1> h:\collision\eigen\vectorbase.h(609) : while compiling class
> >> template member function 'bool
> >> Eigen::VectorBase<T,Derived>::isZero(const T &) const'
> >> 1> with
> >> 1> [
> >> 1> T=double,
> >> 1> Derived=Eigen::Vector<double,3>
> >> 1> ]
> >> 1> h:\collision\eigen\vector.h(99) : see reference to class
> >> template instantiation 'Eigen::VectorBase<T,Derived>' being compiled
> >> 1> with
> >> 1> [
> >> 1> T=double,
> >> 1> Derived=Eigen::Vector<double,3>
> >> 1> ]
> >> 1> h:\collision\collmodel.h(9) : see reference to class
> >> template instantiation 'Eigen::Vector<T,Size>' being compiled
> >> 1> with
> >> 1> [
> >> 1> T=double,
> >> 1> Size=3
> >> 1> ]
> >>
> >> On Fri, Oct 31, 2008 at 4:38 AM, Benoît Jacob <jacob@xxxxxxxxxxxxxxx>
wrote:
> >> > Hi,
> >> >
> >> > Could you paste the exact source code causing this error and compiler
> >> > output?
> >> >
> >> > By the way, Vector3d is a typedef for Matrix<double, 3, 1>. There is
> >> > no separate Vector class template, vectors are a special case of
> >> > matrices.
> >> >
> >> > Cheers,
> >> > Benoit
> >> >
> >> > On Friday 31 October 2008 07:25:39 Mark B wrote:
> >> >> Hi. When trying to call some_vector.isZero() (when the type of
> >> >> some_vector is Vector3d, which I would imagine is Vector<double, 3>)
> >> >> I get the error c2783 can't deduce template argument for type T. Any
> >> >> idea why? Should be an easy thing to deduce (the error output even
> >> >> says for class 'vector<double, 3>' so obviously it knows the type
> >> >> should be double :P) Thanks,
> >> >>
> >> >> Mark
> >> >>
> >> >> ---
> >>
> >> ---
> >
> > ---
>
> ---
---