首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++迭代器类导致Visual C++中的R6025运行时错误

C++迭代器类导致Visual C++中的R6025运行时错误
EN

Stack Overflow用户
提问于 2014-02-01 06:29:07
回答 1查看 79关注 0票数 0

我有以下代码,当我运行下面的代码时,我得到“Visual C++中的R6025运行时错误”。

CommandParameterAndValue参数(“键”,“值”);

parameters.AddParameter(µm );

parameters.HasParameter( "akeyval“);

我迷路了,有什么想法吗?是不是跟选角有关?

代码语言:javascript
复制
typedef std::vector<iCommandParameter *> ParamsVectorList;


class CommandParametersList
{
public:

   .... functions here ....

    void AddParameter( iCommandParameter *param );


    bool HasParameter( std::string parameterKey );

protected:
    ParamsVectorList m_parameters;
};



void CommandParametersList::AddParameter( iCommandParameter *param )
{
    m_parameters.push_back( param );
}


bool CommandParametersList::HasParameter( std::string parameterKey )
{
    ParamsVectorList::iterator it;
    CommandParameterAndValue *paramItem = NULL;
    bool returnValue = false;

    for ( it = m_parameters.begin(); it != m_parameters.end(); it++ )
    {
        paramItem = static_cast<CommandParameterAndValue *>( *it );

        if ( paramItem->GetKey().compare( parameterKey ) == 0 )
        {
            returnValue = true;
            break;
        }
    }

    return returnValue;
}
EN

回答 1

Stack Overflow用户

发布于 2014-02-01 06:39:55

我需要更多的信息来给出一个完整的答案,但是如果你看这里:http://support.microsoft.com/kb/125749

这个运行时错误意味着你试图调用一个纯虚函数--它找不到实现。我建议运行调试器,找出哪行代码抛出了这个错误。那么它应该很容易理解和修复。它很可能发生在这里:

代码语言:javascript
复制
if ( paramItem->GetKey().compare( parameterKey ) == 0 )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21491269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档