我是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
为什么?
这是一个错误,因为这根本不是任何声明.
编译器需要知道,如果你想有一个class,struct,enum,union或别的东西.typename在那里使用不是正确的关键字.
你可能正在寻找这个:
template<class T>
struct lw_slist {
};
Run Code Online (Sandbox Code Playgroud)