On Mon, Sep 02, 2019 at 01:45:54PM -0700, Joe Dinius wrote: > Ryan's really helped me out so far, so I'm hoping he can do the same for > this simple issue I'm having. > > I'd like to be able to allocate my own fixed size vector-type using > aliasing. The following code works well for this: > > template<size_T N> > using Vector = typename arma::colvec::fixed<N>; > > Additionally, it would be really handy If I could add the *type* to the > template definition as well; something like this: > > template<typename T, size_T N> > using Vector = typename arma::Col<T>::fixed<N>; > > However, this *does not* work; it fails to compile. This seems more an > issue with how I am abusing the 11-standard and not an issue with > armadillo, but I am hoping that someone on this list can shed some light on > what I am doing wrong here: how can I achieve the desired design pattern > "Vector<double, N>" is an armadillo vector of doubles of fixed size N.
Hey Joe, To solve this issue you need to use the ::template operator. (Or, at least, I was able to solve it this way.) template<typename T, size_t N> using Vector = typename arma::Col<T>::template fixed<N>; More information on this headachey part of C++ here: https://stackoverflow.com/questions/610245/where-and-why-do-i-have-to-put-the-template-and-typename-keywords Hope this helps! Ryan -- Ryan Curtin | "No... not without incident." [email protected] | - John Preston _______________________________________________ mlpack mailing list [email protected] http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
