【Debug Assertion Failed!Expression:_pFirstBlock == pHead vs2013编程错误】

5 篇文章 0 订阅
3 篇文章 0 订阅

今天在用vs2013编程的时候,我遇到:

Debug Assertion Failed!Expression:_pFirstBlock == pHead  vs2013

解决办法一:

               项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库->MDd

               参考:http://blog.csdn.net/giantpoplar/article/details/47295877

               我用解决办法一,会出现下面的问题。

              error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”

               而上面的解决办法搜了一下是叫我改回来。

              项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库->MTd

              哈哈,陷入的死循环。看来第一种方法不能用了。

解决办法二:

              因为发现我的代码是在函数返回的时候出了错误的,而且我用了vector,这与使用string出错是同一个问题。

              参考:http://stackoverflow.com/questions/18882760/debug-assertion-failed-expression-pfirstblock-phead

              英文不太理解,我就试着理解吧,最后的尝试把函数中所有的vector使用的时候,必须初始化,如:

          

vector<Mat> colorCh;
split(img,colorCh);

           全部改为:

vector<Mat> colorCh(3);
split(img,colorCh);


          改完之后之后就没问题了哈。

              

### 回答1: 这个错误信息表示在表达式中断言失败:'errors == mdb_success || errors == mdb_notfound'。这意味着程序检测到了一个不符合预期的错误,并无法继续执行。具体的错误原因需要进一步调查。 ### 回答2: 这个错误信息可能出现在使用 mdb (MonDgoDB) 数据库时,执行相关操作时遇到了错误assertion failed on expression: 'errors == mdb_success || errors == mdb_notfound' 的意思是,在执行 具体的操作(具体操作因情况而异)过程中,系统预期的操作结果是 mdb_success 或者是 mdb_notfound,但实际上得到的操作结果与预期结果不符,导致了程序报错。 可能的原因包括: 1. 数据库连接出现问题。例如,连接时的参数设置不正确,或者连接过程中网络发生异常等。 2. 操作的数据不存在。程序在尝试访问/修改数据时,发现数据并不存在。 3. 操作的数据未能正确处理。例如,在对数据进行修改时,程序出现某些未处理的错误,导致操作结果错误。 在出现这个错误信息时,需要仔细的检查相关的操作代码,并根据具体情况调试程序。可以通过查看日志、尝试重新连接数据库等方式找到问题所在,并根据实际情况进行修复。需要注意,在修复程序时需要避免对数据的丢失或破坏。 ### 回答3: 这是一个关于Mongodb数据库操作的问题。通常情况下,当我们在操作Mongodb数据库时,会使用一些操作指令来进行增、删、改、查等操作。如果在执行这些操作时,出现了错误,系统会返回一个错误码,用来告诉我们这个操作是否成功,以及出错的原因。 这个问题中的assertion failed on expression: 'errors == mdb_success || errors == mdb_notfound'告诉我们的是,在执行Mongodb的操作时,出现了assertion failed错误,并且错误的信息是errors == mdb_success || errors == mdb_notfound。那么,这个错误的具体含义是什么呢? 在Mongodb的驱动库中,有两个常量mdb_success和mdb_notfound,分别表示查询成功和查询结果不存在。错误信息中的errors == mdb_success || errors == mdb_notfound就是在判断数据库操作是否成功的时候用到的,如果errors等于mdb_success或者等于mdb_notfound,说明操作成功,否则就是操作失败了。 在这个错误信息中,出现assertion failed,表示出现了断言错误,也就是说,在系统判断操作是否成功的时候,出了问题。这可能是由于程序逻辑出现了问题,导致判断错误,或者是Mongodb服务的异常状态导致的。 为了解决这个问题,我们需要仔细检查程序逻辑,并在数据库服务状态正常时再次进行操作,以确保操作成功。如果问题依然无法解决,建议联系Mongodb官方技术支持人员协助解决。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值