Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   Class template problem: template argument 1 is invalid (http://www.velocityreviews.com/forums/t951957-class-template-problem-template-argument-1-is-invalid.html)

jtravs@gmail.com 09-07-2012 06:52 PM

Class template problem: template argument 1 is invalid
 
Hi all, I have a problem with a class template. I want the private data in a class to be a vector of vectors of some kind of numeric type, i.e:

std::vector<std::vector<double> >
std::vector<std::vector<std::complex<double> > >

But I want the type of vector (I'm using a library of third party vectors along with stl vectors), and the element type to be templated. I tried template templates but now I don think that is the solution to my problem. A highly simplified example is:

#include <complex>
#include <vector>
template<typename T>
class Fred {
std::vector<T> data_;
};
int main(){
Fred<std::vector<double> > works;
//Fred<std::vector<std::complex<double> > doesnt_work;
return 0;
}

As shown it compiles fine, but if I uncomment the second line in main, I get the error (g++ 4.6):

error: template argument 1 is invalid

Why do I get this error? And does anyone have a suggested fix?

Thanks,
John

jtravs@gmail.com 09-07-2012 07:48 PM

Re: Class template problem: template argument 1 is invalid
 
>
> Why do I get this error? And does anyone have a suggested fix?
>


OK, this was solved on stack overflow: I missed a > in the second line! Yes, I'm stupid! Though the error message is a little useless.



All times are GMT. The time now is 09:56 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.