I've done similar things in the past... but that isn't working in this case. In particular I get: error: using 'typename' outside of template error: 'T' was not declared in this scope
Sigh. Derek On Mon, Dec 22, 2008 at 2:55 PM, John Peterson < [email protected]> wrote: > Hey, > > Not sure if this is it but could you try: > > void Parameters::Parameter<typename std::vector<T> >::print > (std::ostream& os) const > > (just add the typename qualifier, everything else the same.) Anyway, > that is what I always try when I'm dealing with templates and there is > a type which depends on T... > > -- > John > > > > On Mon, Dec 22, 2008 at 2:38 PM, Derek Gaston <[email protected]> wrote: > > Ok - I give up... someone tell me what the hell I'm doing wrong. I'm > trying > > to add the following function to parameters.h (right underneath the > generic > > version): > > template <typename T> > > inline > > void Parameters::Parameter<std::vector<T> >::print (std::ostream& os) > const > > { > > for (unsigned int i=0; i<_value.size(); i++) > > os << _value[i] << " "; > > } > > And I get errors: > > invalid use of undefined type 'class Parameters::Parameter<std::vector<T, > > std::allocator<_CharT> > >' > > /Users/gastdr/projects/libmesh/include/utils/parameters.h:163: error: > > declaration of 'class Parameters::Parameter<std::vector<T, > > std::allocator<_CharT> > >' > > /Users/gastdr/projects/libmesh/include/utils/parameters.h:260: error: > > template definition of non-template 'void > > Parameters::Parameter<std::vector<T, std::allocator<_CharT> > > >>::print(std::ostream&) const' > > /Users/gastdr/projects/libmesh/include/utils/parameters.h: In member > > function 'void Parameters::Parameter<std::vector<T, > std::allocator<_CharT> > > >>::print(std::ostream&) const': > > > > But... if I do: > > template <> > > inline > > void Parameters::Parameter<std::vector<Real> >::print (std::ostream& os) > > const > > { > > for (unsigned int i=0; i<_value.size(); i++) > > os << _value[i] << " "; > > } > > Like normal template specialization.... it works fine. I've tried > looking > > this up in various places.... and from what I can see I'm doing it > > correctly.... so it's time for some outside advice. I've also tried > > hundreds of permutations.... and just can't get the damn thing to go. > > Thanks! >
------------------------------------------------------------------------------
_______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
