草庐IT

BeanShell断言

全部标签

c++ - 为什么断言在这里不起作用?

代码如下:#include#include#include#includeusingnamespaceRcpp;//[[Rcpp::export]]doubleeudist(NumericVectorx,NumericVectory){intnx=x.size();intny=y.size();std::cout将其采购到R后,我得到以下结果,显然它在出现错误时不会中止:#////////////////////////////////////////////////////sourceCpp('x.cpp')#/////////////////////////////////////

c++ - GrabCut - bgdModel 和 fgdModel 为空 - 断言错误

我正在尝试在OpenCV2.1(C++)中使用GrabCut算法进行图像分割这是我的代码:MatrgbWorkImage=imread(argv[1]);Matmask;mask=Scalar(0);MatbgdModel,fgdModel;Rectrect=Rect(Point(0,0),imageSize);grabCut(rgbWorkImage,mask,rect,bgdModel,fgdModel,0,GC_INIT_WITH_RECT);grabCut(rgbWorkImage,mask,rect,bgdModel,fgdModel,2,GC_EVAL);不幸的是,我遇到了

c++ - 为什么这个 "call"断言看到两个参数而不是一个?

给定thistestprogram:#include#include#includeconststd::string&const_string="bla";std::stringconst&string_const="blabla";static_assert(std::is_same::value,"Uhoh");intmain(){assert(std::is_same::value);}它使用C的断言断言两种类型在编译时和运行时相同。所有Clang、MSVC2015和GCC都报告相同的错误,所以我很确定it'sme:main.cpp:13:49:error:toomanyargu

c++ - 排序中的 < 运算符断言无效

我正在尝试实现一个简单的比较器,用于根据数组“_vec”中的值对索引进行排序。我收到“无效classCompare{vector&_vec;public:Compare(vector&vec):_vec(vec){}booloperator()(size_ti,size_tj){if(_vec[i]!=_vec[j])return_vec[i]我正在使用以下函数调用:sort(inds.begin(),inds.end(),Compare(vals));其中inds只是一个包含从1到15(比如说)的索引的数组,而vals是长度为15的数组,其中包含一些我想要计算其排序索引的值。总体目标

c++ - 如何断言谷歌测试中的执行时间?

我正在使用Google的C++测试框架Gtest。我想针对它测试一个函数执行时间,例如如果执行时间超过3毫秒,函数foo()将失败。我找不到实现此目的的ASSERT语句。gtest不包括这样的功能吗? 最佳答案 为什么不使用这么简单的解决方案呢?//pseudocodeclock_tt=clock();foo();constdoublework_time=(clock()-t)/double(CLOCKS_PER_SEC);ASSERT_TRUE(work_time 关于c++-如何断言

c++ - knnMatchImpl 中的断言失败 (queryDescriptors.type() == trainDescCollection[0].type()),

当使用BOWImgDescriptorExtractor和DescriptorExtractor作为SIFT和DescriptorMatcher作为ButeForce我我收到错误信息OpenCVError:Assertionfailed(queryDescriptors.type()==trainDescCollection[0].type())inknnMatchImpl,我有什么错误。当我尝试计算时例如。bowide->compute(img,keypoints,response_hist); 最佳答案 我在使用带有BFMatc

c++ - haar 训练 OpenCV 断言失败

我正在尝试使用3340张正图像和1224张负图像在OpenCV中为行人训练类似haar的分类器。(在.txt文件中,我保留负片图像名称,即negatives(1).bmp,在txt文件中,我保留正片名称,即picture(1).bmp10064128。实际上正样本已经是行人的裁剪图像,所以我只需要为每张图像指定一个正样本)。在训练过程中的某个时候它会停下来并说:"OpencvError:Assertionfailed(elements_read==1)inunknownfunction,filec:\path\cvhaartraining.cpp,line1858"关于造成这种情况的原

c++ - SFINAE 断言()代码不编译

我确信一定可以使用SFINAE(可能与宏一起使用)来static_assert()任意代码不会编译。在我的代码库中有一些复杂的情况,我有一个类我想禁止使用临时对象(我相信模式是):class(constclass&&tmp)=delete;/*denycopyingfromanunnamedtemporary*/class(class&&rhs){/*allowconstructionfromnon-temporaryrvalue*/}目前,我检查了一个不需要的构造函数是否编译,但当然我必须将其注释掉以使测试再次编译!如果我能做到:static_assert(DOES_NOT_COMP

c++ - const 变量的静态断言?

静态断言对于在编译时进行检查非常方便。一个简单的静态断言习惯用法如下所示:templatestructStaticAssert;templatestructStaticAssert{};#defineSTATIC_ASSERT(condition)do{StaticAssert();}while(0)这对像这样的东西很有用STATIC_ASSERT(sizeof(float)==4)和:#defineTHIS_LIMIT(1000)...STATIC_ASSERT(THIS_LIMIT>OTHER_LIMIT);但是使用#define并不是定义常量的“C++”方式。C++会让你使用匿名

C++ 如何断言 vector 中的所有 std::shared_ptr 都引用了某物

当我有一个函数接收一个应该引用某物的(智能)指针时,我总是这样开始:classFoo;voiddoSomething(conststd::shared_ptr&pFoo){assert(pFoo);//...}现在我正在为(智能)指针的vector(或其他容器)寻找类似的断言条件。我能想到的最好的办法是:voiddoSomething(conststd::vector>&pFoos){assert(std::all_of(pFoos.begin(),pFoos.end(),[](conststd::shared_ptr&pFoo){returnpFoo;}));//...}我想知道这是