草庐IT

technically-speaking-what-makes-g

全部标签

c++ - 使用 make_shared<std::thread> 创建 shared_ptr<std::thread> 的实例

考虑以下代码:classA{....shared_ptrmThread;voidStep();voidLaunchTrhead();}voidA::LaunchThread(){...mThread=make_shared(Step);//Thislinegivesanerror...}voidA::Step(){...}我正在尝试初始化共享指针mThread以便它调用函数Step。但是,编译器给我错误“类型引用的无效初始化...来自类型‘未解析的重载函数类型’的表达式”。显然我在做一些愚蠢的事情,但我不能指责它。有人可以帮忙吗?提前致谢! 最佳答案

c++ - make 给出错误 make : *** No rule to make target `clean' . Stop

您好,我有一个简单的MakeFile,其中包含:clean:rm-fex1但是当我运行命令makeclean时,出现以下错误:make:***Noruletomaketarget`clean'.Stop.我不确定我做错了什么,它只有2行,而第2行是以TAB而不是空格开头的。有人知道吗?我在MacOSX10.9.2上我实际上正在尝试学习c并遵循本教程:http://c.learncodethehardway.org/book/ex2.html 最佳答案 MakeFile应该命名为Makefile。去掉大写字母F。

c++ - 带有模板参数的 make_tuple 不编译

考虑这段代码:#includeintmain(){inti;longk;autotup1=std::make_tuple(i);//Compilesautotup2=std::make_tuple(k);//Compilesautotup3=std::make_tuple(i);//Doesnotcompileautotup4=std::make_tuple(i+0);//Compilesautotup5=std::make_tuple(i);//Compiles}为什么autotup3=...不编译?显然,make_tuple(...)想要一个右值引用作为它的参数;但是为什么?(我使

c++ - 如何使用 make_pair 创建一对 id 和 struct(对象)?

我试图像这样创建一对id和对象:#include#include#includestructnum{doublex;doubley;};intmain(){autotmp=std::make_pair(1,{1.0,2.0});}我收到错误error:nomatchingfunctionforcallto'make_pair(int,)'是否有正确的方法来创建一对id和object? 最佳答案 不,这是你应该如何创建你的对:autotmp=std::make_pair(1,num{1.0,2.0});或者(如@StoryTeller

c++ - 异常类 - what() 函数

我目前正在开发我自己的继承自std::exception的异常类,我不确定是否应该创建自己的what()或者只是打电话std::exception("message")在我的类构造函数中。这是我当前的代码:FilterException::FilterException(constchar*message,intnum)noexcept:error_message(message),error_number(num){}constchar*FilterException::what()constnoexcept{returnerror_message.c_str();}FilterEx

c++ - Qt Whats This 使用链接/ anchor

如何放置anchor进入whatsThis对于一个小部件拦截它被点击?我知道linkActivated在QLabel中,或linkClicked在QTextBrowser中,但我不知道如何用WhatsThis文本做同样的事情。明确地说,我想知道如果不拦截帮助事件并自行管理WhatsThis机制,这是否可行。 最佳答案 如果我理解你的问题,那就是你想知道是否有一个SIGNAL()用于此。似乎没有。似乎您必须通过派生您自己的Widget类或使用某种全局过滤器来监视QWhatsThisClickedEvent:http://qtcentr

c++ - _IO_wide_data_2 : what's this?

我在嵌入式平台上工作(架构是SH4),几分钟前我的程序因SIGABRT而崩溃。幸运的是,我在gdbserver下运行,被这个信号中断的线程有这个堆栈转储:#00x2a7f1678inraise()from/home/[user]/target/lib/libc.so.6#10x2a7f2a4cinabort()from/home/[user]/target/lib/libc.so.6#20x2a81ade0in__libc_message()from/home/[user]/target/lib/libc.so.6#30x2a81f3a8inmalloc_printerr()from/

c++ - cmake -D <变量> :<type>=<value> what does the parameter "-D" mean

我正在尝试使用cmake安装opencv。在opencv说明页面中,我找到以下示例:cd~/opencvmkdirreleasecdreleasecmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local..据我了解,我应该在我创建的新目录中使用cmake生成Makefile,在这个例子中应该是~/opencv/release。但我不太明白最后一行。在cmake帮助中,我发现:cmake-D:==createacmakecacheentry这是什么意思?特别是这部分:":=",我不明白为什么这个例子给出了"CMAKE

c++ - std::make_pair 类型推导

我遇到了一些奇怪的事情,我想得到解释。以下代码片段提供了一个简单的类模板type和两个operators:一个用于type的特化和一个std::pair的type特化。#include#includetemplateclasstype{public:Tvalue_;};templatestd::basic_ostream&operator&os,typeconst&a){returnosstd::basic_ostream&operator&os,std::pairconst&a){returnosintmain(){usingfloat_type=type;float_typecon

C++ 函数名称分解 : What does this name suffix mean?

当我反汇编Chromium二进制文件时,我注意到有一些函数以这种模式命名:_ZN6webrtc15DecoderDatabase11DecoderInfoD2Ev.part.1如果我把这个字符串给c++filt,输出是webrtc::DecoderDatabase::DecoderInfo::~DecoderInfo()[克隆.part.1]那么这个.part.1后缀的真正含义是什么?如果它表明同一个函数有多个拷贝,他们为什么需要那个?是因为位置独立的要求吗?我使用g++作为编译器。 最佳答案 它表示析构函数是partialinli