当我尝试编译这个时,我收到此错误:
error: expected `;' before 'it'
Run Code Online (Sandbox Code Playgroud)
为什么我不能声明这个迭代器?问题出在哪儿?
#include <list>
template <typename Z>
class LBFuncBase: public LBBaseBlock<Z>
{
void Something() {
std::list<LBBaseBlock< Z >* >::iterator it;
}
};
Run Code Online (Sandbox Code Playgroud)
Mic*_*Mic 13
尝试:
typename std::list<LBBaseBlock< Z >* >::iterator it;
Run Code Online (Sandbox Code Playgroud)
编辑:
有关说明,请参阅" 为什么有时需要写入typename ".