草庐IT

Match_parent

全部标签

c++ - 振奋 spirit : how to match any lexer token in qi?

我想将C++函数声明与默认参数值匹配,但忽略这些值。例如:intmyFunction(inta,intb=5+4);这是词法分析器的(一部分):structLexer:boost::spirit::lex::lexer{Lexer(){identifier="[A-Za-z_][A-Za-z0-9_]*";numLiteral="([0-9]+)|(0x[0-9a-fA-F]+)";this->self.add("int")('+')('=')('(')(')')(';')(',')(identifier)(numLiteral);}};我想编写一些解析器规则,例如:function=

c++ - Q文件对话框 : GtkDialog mapped without a transient parent

我有一个用C++中的Qt编写的程序的源代码片段,在Linux下运行,它创建一个QFileDialog来打开现有文件。如果我执行此操作,一切似乎都正常,但是当创建对话框时,我收到一条警告说“Gtk-Message:GtkDialogmappedwithoutatransientparent”。在另一个thread我发现调用此函数“gtk_window_set_transient_for()”可修复此错误。但是这个函数是GTK库的一部分但是我使用的是Qt框架。那么有什么解决方案可以解决这个错误吗?这个对话框的父级是一个QMainWindow:QStringfilename=QFileDia

C++11 std::regex_match 返回额外字符

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Isgcc4.7buggyaboutregularexpressions?我遵循了http://www.cplusplus.com/reference/std/regex/regex_match/上的示例并在Ubuntu12.0464位上使用g++版本4.6.3编译以下是我的输出:stringliteralmatchedstringobjectmatchedrangematchedstringliteralwith3matchesstringobjectwith3matchesrangewith3matche

c++ - OpenCV 错误 : Sizes of input arguments do not match (The operation is neither 'array op array' )

我正在做一个在树莓派上使用opencv的项目。我遇到了一个看起来很简单的障碍,但我无法解决问题。首先,这是我的代码的一部分:{gray=cvarrToMat(py);///cvShowImage("camcvWin",py);//displayonlygraychannelif(img_num%2==1){cv::imwrite("/home/pi/test/Gray_2Image1.jpg",gray);}elseif(img_num%2==0){cv::imwrite("/home/pi/test/Gray_2Image2.jpg",gray);cv::Matimg2=cv::im

c++ - regex_match (""8 秒,regex (".{40000}"));?

更新2:实际上是regex(".{40000}");。仅此一项就已经花费了那么多时间。为什么?regex_match("",regex(".{40000}"));在我的PC上花费将近8秒。为什么?难道我做错了什么?我在i7-6700上的Windows10上使用来自MinGW的gcc4.9.3。这是一个完整的测试程序:#include#include#includeusingnamespacestd;intmain(){clock_tt=clock();regex_match("",regex(".{40000}"));cout我如何编译和运行它:C:\Users\...\coding>

c++ - 谷歌模拟 : How to configure custom message to explain match failure

如果匹配失败,Googlemock会打印如下消息:test.cpp:112:EXPECT_CALL(mock_obj,foo(MyMatcher(bar)))...Expectedarg#0:isequalto[1,2;3,4]Actual:{1}Expected:tobecalledonceActual:nevercalled-unsatisfiedandactive使用自定义匹配器MyMatcher我可以定义一个描述字符串,用于在匹配失败时生成失败消息。但它只定义了消息的Expectedarg#0部分。有什么方法可以自定义Actual的打印方式吗?在我的例子中,我不能为bar的类重

C++ 模板 : cannot match the last template in variadic class template

我正在学习C++11可变参数模板并创建了一个模板结构来计算给定列表的最大数量并尝试了:#include#includetemplatestructmax:std::integral_constantb?max::value:max::value)>{};templatestructmax:std::integral_constantb?max::value:max::value)>{};templatestructmax:std::integral_constant{};intmain(){std::cout::value但是g++提示:test.cc:7:58:error:wrong

c++ - 错误 : no match for ‘operator<’ in ‘__x < __y’ when trying to insert in two map

在代码中有两个映射。一个存储对和另一个存储,其中值是具有5个变量的类,数据类型为字符串、整数、字符串、整数、整数。但是在插入第二个映射期间,我收到错误g++错误:尝试在map中插入时,'__x如何解决。classValues{private:std::stringC_addr;intC_port;std::stringS_addr;intS_port;intC_ID;public:Values(std::string,int,std::string,int,int);voidprintValues();};Values::Values(std::stringCaddr,intCport

c++ - parent_path() 带或不带斜杠

如documentation中所述,以下的预期输出是:boost::filesystem::pathfilePath1="/home/user/";cout问题是,你如何处理这个问题?也就是说,如果我接受一个路径作为参数,我不希望用户关心它是否应该有尾部斜线。看起来最简单的做法是在尾部附加一个斜杠,然后调用parent_path()两次以获得我想要的“/home”的父路径:boost::filesystem::pathfilePath1="/home/user/";filePath1/="/";cout但这看起来很荒谬。有没有更好的方法在框架内处理这个问题?

C++ regex_match 不工作

这是我的部分代码boolCSettings::bParseLine(constchar*input){//_asmINT3std::stringline(input);std::size_tposition=std::string::npos,comment;regexcvarPattern("\\.([a-zA-Z_]+)");regexparentPattern("^([a-zA-Z0-9_]+)\\.");regexcvarValue("\\.[a-zA-Z0-9_]+[]*=[]*(\\d+\\.*\\d*)");std::cmatchmatchedParent,matched