Search code examples
c++classtemplatesnested-class

Member function of nested class returns type of nested class


I have a struct within a class like this

template <class T>
class a {
    struct b {
        int var;
        b *foo(const T&);
    };
    int var;
};

and I want to define foo outside of struct b.

How do I do that?


Solution

  • template <class T>
    typename a<T>::b* a<T>::b::foo(const T&)
    {
        //code
    }