繁体   English   中英

无法使用模板编译std :: list iterator

[英]Can't compile std::list iterator with template

当我尝试编译这个时,我收到此错误:

error: expected `;' before 'it'

为什么我不能声明这个迭代器? 问题出在哪儿?

#include <list>

template <typename Z>
class LBFuncBase: public LBBaseBlock<Z>
{
    void Something() {
         std::list<LBBaseBlock< Z >* >::iterator it;
    }
};

尝试:

typename std::list<LBBaseBlock< Z >* >::iterator it;

编辑:

有关说明,请参阅“ 为什么有时需要写入typename ”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM