如何克服Vector Iterators不兼容 [英] how to overcome on Vector Iterators Incompatible

查看:96
本文介绍了如何克服Vector Iterators不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

std::vector<CParserOutNode> m_Param;
int ret = parser->Parse(bbuf,&m_Param,(char*)commandname.c_str(),&TestType);
if(ret==0)
{
    std::vector<CParserOutNode>::iterator iter;
    iter = m_Param.begin();
    while (iter != m_Param.end())  // program stop
    {
        // do code
    }
}



退出代码Vector Iterators Incompatible


exit with code Vector Iterators Incompatible

推荐答案

尝试更改这样的代码。将模板类更改为指针 CParserOutNode *

不确定方法 parser-> Parse 正在做。

Try to change the code like this. Change template class to be a pointer CParserOutNode*
Not sure what the method parser->Parse is doing, though.
std::vector<CParserOutNode*> m_Param;
int ret = parser->Parse(bbuf, &m_Param, (char*)commandname.c_str(), &TestType);
if (ret==0)
{
    std::vector<CParserOutNode*>::iterator iter;
    iter = m_Param.begin();
    while (iter != m_Param.end())
    {
        // do code
    }
}


这篇关于如何克服Vector Iterators不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆