#include <iostream>
using namespace std;

template <typename _param, //  shadows template parm ‘class _param’
    typename _param_ptr = _param*> // shadows template parm ‘class _param_ptr’
class CTest
{
public:
    typedef _param CParam;
    typedef _param_ptr _param_ptr1; //declaration of ‘typedef _param_ptr CTest<_param, _param_ptr>::_param_ptr’

    struct STest
    {
    	_param_ptr1 m_operator;

        inline STest(_param_ptr1 _param1) // declaration of ‘_param_ptr _param’
            : m_operator(_param1)
        {
        }
    };
};

int main() {
	CTest<int> myvar;
	return 0;
}