c++ - Problems referring to a nested type of type as argument of a class template -


this question has answer here:

i have class template defines type inside it:

#include <boost/array.hpp>  template <typename t, int n> class myfunct { public:   typedef boost::array<t,n> farray;   myfunct(); }; 

now have class template. thing makes class particular is supposed work types define, inside of them, type called farray. not ask why please, there reason this.

template <typename f> class myclass { public:   myclass() {     f::farray = f::farray();   } }; 

and use this:

int main(int argc, char** argv) {   myclass< myfunct<double,10> > m; } 

when have situation compiler gets mad telling me double has no member called farray. what's happening?

you need use typename here:

typename f::farray = typename f::array(); 

Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -