简单的C++模板定义问题

sol*_*tim 0 c++ templates

我是C++的新手.这是代码:

template <class T> typename lw_slist {
    // .... some code
    private:     

        typedef struct _slist_cell {
            _slist_cell *next;
            T data;
        } slist_cell;

        lw_slist::slist_cell *root;
};
Run Code Online (Sandbox Code Playgroud)

给出这个编译错误:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

为什么?

Zan*_*ynx 7

这是一个错误,因为这根本不是任何声明.

编译器需要知道,如果你想有一个class,struct,enum,union或别的东西.typename在那里使用不是正确的关键字.

可能正在寻找这个:

template<class T>
struct lw_slist {
};
Run Code Online (Sandbox Code Playgroud)