草庐IT

derived-declarator-type

全部标签

c++ - 使用 Boost.Log 构建 Boost "error: target { simple_event_log.mc. } has no type"

我正在尝试构建Boost.Log(http://boost-log.sourceforge.net/libs/log/doc/html/index.html)。我将它添加到我的boost源并执行了我常用的boost构建命令。b2--build-dir="D:\boost\1.51.0\boost"toolset=gccvariant=releaselink=staticthreading=multiruntime-link=static--build-type=complete但什么也没发生,最后我收到了这个:D:/boost/1.51.0/src/tools/build/v2/bui

c++ - Eclipse CDT 调试 : Show dynamic type

我正在使用CDT进行C++开发,它使用gdb进行调试。调试变量View仅显示变量的声明类型-而不是基于vtable信息的实际类型。由于我严重依赖动态子类化,声明的类型通常不包含我需要的信息。我还必须检查实际子类的值。我发现了这个问题:vtableinpolymorphicclassofC++usinggdb据说gdb能够使用以下命令打印基于vtable信息的实际类型:setprintobjecton但是如何在EclipseCDT中执行此操作?顺便说一句:这不是一个很常见的用例,所以默认情况下应该启用它吗?一旦有人使用继承和虚拟的东西,在调试过程中看到真实的对象类型就非常重要。仅显示已声

c++ - Boost ICL : Are some combinations of interval types and functions not implemented?中函数 "contains"的基本使用

我开始使用BoostICL,并且偶然发现了一些非常基础的东西。例如,函数contains应该返回true或false,这取决于给定元素是否在区间内。然而,这适用于[right,left]_open_intervals但不适用于[open,closed]_inteval(请参见下面的示例)。这似乎太明显了,不是疏忽。我正在以预期的方式使用库吗?例如(使用gcc4.8或clang3.3和Boost1.54):#include//neededtomakethisMWEwork,boosticlshouldincludeitinternally#include#include#includei

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

我想通过指定策略允许修改我的类的行为。该策略应该用作boost::variant的访问者。有适合大多数情况的默认策略,但用户可能需要添加或替换一些重载。我发现vc++2013没有编译此代码并出现错误C3066:Therearemultiplewaysthatanobjectofthistypeofcanbecalledwiththesearguments。相同的代码在gcc和clang中按预期编译和工作。是vc++2013的错误吗?#includestructDefaultPolicy{voidoperator()(bool){std::coutUPD这个例子适用于vc++2010。看

Type-C接口显示器PD协议芯片方案-LDR6020

大家都知道显示器种类有很多种,有桌面显示器,便携显示器,智能显示器,甚至AR眼镜也可以算是一个微型显示器,传输信号的方式也很多种,如HDMI、VGA、DisplayPort、USB-C等等。现在较为统一更新的那就是欧盟规定的type-c接口方案了,接口的统一对环保是很有必要的,这样既方案每个人都无需一堆的适配器,只要携带type-c接口就能满足日常生活电子产品的使用。显示器采用Type-C接口,可以轻松连接手机,平板电脑,笔记本电脑,Switch游戏机投屏,因为像手机,平板电脑,Switch游戏机不可能在小巧的机身上安装一个HDMI接口,而且Type-C接口可以在投屏的同时给手机,平板电脑,笔

c++ - 错误 : ‘cv::fisheye’ has not been declared

我想为140度鱼眼镜头编写相机校准。由于opencv的正常校准不适用于这些镜头,我发现calib3d包中似乎有一个cv::fisheye模块。但每次我尝试编译我的代码时,g++状态:error:‘cv::fisheye’hasnotbeendeclared问题是opencv2.4.11的文档包含方法和额外的命名空间。我的C++文件中包含以下内容://OPENCVStuff#include"opencv2/opencv.hpp"#include"opencv2/highgui/highgui.hpp"#include"opencv2/calib3d/calib3d.hpp"#includ

c++ - T declval() 而不是 T && declval() for common_type

用std::declval不是更好吗?声明形式:templateTdeclval();//(1)然后是当前的:templateT&&declval();//(2)std::common_type(可能仅出于当前目的使用不同的名称)?common_type的行为使用(1)比使用std::decay_t时的行为更接近三元运算符(但未使用(2))的行为:templateTdeclval();templatestructcommon_type;templateusingcommon_type_t=typenamecommon_type::type;templatestructcommon_ty

c++ - elfutils 编译错误 implicit-function-declaration

我下载了elfutils0.170和0.169,但由于隐式函数声明,无法使用gcc编译它们中的任何一个。我在elfutilsmakefile中找不到指定-Werror或-Werror=implicit-function-declaration的任何位置。有解决此编译错误的想法吗?https://sourceware.org/elfutils/ftp/0.170/我的脚步1:bzip2-delfutils-0.170.tar.bz22:tar-xvfelfutils-0.170.tar3:./配置4:制作然后出现以下错误。elf_compress_gnu.c:在函数“elf_compre

c++ - gcc 相对于在新表达式中解析 type-id 发出错误

这个程序#includeintmain(){conststd::size_tN1=2;conststd::size_tN2=3;int(**p)[N1]=new(int(*[N2])[N1]);}doesnotcompile使用编译器C++gccHEAD10.0.020190。编译器报错prog.cc:Inlambdafunction:prog.cc:8:40:error:expected'{'before')'token8|int(**p)[N1]=new(int(*[N2])[N1]);|^prog.cc:Infunction'intmain()':prog.cc:8:34:err

c++ - boost::serialization Archive::register_type 如何工作?

boost::serialization能够序列化它们最派生类的多态对象,即使这些对象由指向基类的引用/指针指向。这不需要虚函数。要做到这一点,boost::serialization需要知道存在的多态类型:Archive::register_type必须在Archive用于序列化的对象。Thisexample展示了如何注册类型以及如何序列化它们。我想知道这是如何实现的。我试图查看boost::serialization源代码但失败了:我不太擅长模板元编程。 最佳答案 boost.serialization可以使用typeid()或