Template linker errors with gcc 4.6.3
Mon Nov 4 15:40:00 GMT 2013
On 4 November 2013 15:34, David Aldrich wrote:
>> At a guess, maybe because the function is declared as something like
>> Matrix<T>::eye(unsigned, double = 0.0) i.e. just because you pass the function
>> an int doesn't mean that's what the function is declared to take.
> You are absolutely correct, of course, eye() is defined in Matrix.h as follows:
> template<class T> class Matrix : public MatrixBase
> static Matrix<T> eye( unsigned a_size, T a_scalingFactor=1.0 ) DONT_INLINE;
> Does that point to the root cause of the problem?
No, it just means that the compiler is correct to require
Matrix<double>::eye(unsigned int, double) instead of
More information about the Gcc-help