Listing 1: Correct name lookup

template<class other>
class vct
    {
    // ...
    };

class outer
    {
public:
    class inner
        {
        // ...
        };
    vct</*outer::*/inner> data;
    vct</*outer::*/inner> &GetData();
    };

inline vct<outer::inner> &outer::GetData()
    {
    return data;
    }
— End of Listing —