草庐IT

限定词

全部标签

C++ 丢弃限定符

我有这个错误:BSPArduino.cpp:316:error:passing'constBSPArduino'as'this'argumentof'virtualvoidBSPArduino::enableWdt(constWATCHDOG_TIMER_DELAY&,const___bool&)'discardsqualifiers这个方法是这样定义的:voidBSPArduino::enableWdt(constWATCHDOG_TIMER_DELAY&delay,const___bool&enable)我想这样调用它:enableWdt(this->watchdogTimer,_

c++ - C++ 方法名称可以在 header 中由类名限定吗?

简单的问题,这是有效的C++吗:classFoo{voidFoo::doSomething();};问题的重点:在类声明内部中重复使用类名和方法名前的双冒号是否有效?我在编译使用g++4.2.3执行此操作的代码时遇到问题。在深入研究和更改代码之前,我很想在这里看到对描述语法的内容的引用。或者降级编译器;这确实是用g++3.3.6构建的。我得到的错误是(大致):Foo.h:3:error:extraqualification‘Foo::’onmember‘doSomething’我用Google搜索了一下,但找不到任何东西。我没有标准,即使我有,我也可能要花很长时间才能找到任何权威的东西

c++ - 正在初始化类型为 "int &"的引用(不是 const 限定的),其值是 "bool"类型的一些 hack?

我遇到了这个C++代码here://roundalternate//Bias:noneforsequentialcallsbool_is_up=false;templateFloatTyperoundalternate(constFloatType&value,int&is_up=_is_up){if((is_up!=is_up))returnroundhalfup(value);returnroundhalfdown(value);}这让我很困惑,这应该如何工作?这应该如何在每次调用此函数时进行交替调用?这段代码是完全错误的,还是由于某些编译器的怪异而应该工作的?它似乎用g++编译得

c++ - 覆盖限定的虚拟方法

我有多个父类的C++类;每个父级都定义了一个具有通用名称但用途不同的函数:classBaseA{virtualvoidmyFunc();//doessometask};classBaseB{virtualvoidmyFunc();//doessomeothertask};classDerived:publicBaseA,publicBaseB;如果是这样,我就没问题了-我可以用using语句解决歧义,我可以使用基类名称和范围解析运算符选择调用哪个.不幸的是,派生类需要覆盖它们:classDerived:publicBaseA,publicBaseB{virtualvoidBaseA::

c++ - 通常对函数名的非限定查找与对变量名的查找不同吗?

考虑以下代码:#includeinta=5;//1externinta;//2intmain(){cout在非限定名称查找期间,将找到#1,非限定名称查找在找到#1后立即结束。但考虑另一个例子:#includevoidfoo(){cout在那种情况下,voidfoo();的定义将首先被找到。但不合格的名称查找并没有结束。为什么?标准中哪里规定的?总的来说,我感兴趣的是:函数调用的后缀表达式的非限定名称查找何时结束?注意:我知道ADL是什么意思。在这种情况下,ADL生成的声明集是空的。更新:但是如果我们这样写:intfoo(inta){return0;}namespaceA{intfoo

c++ - 如何在模板中添加 const 限定符

我要const_value_type即使T也是常量是一个指针,这对于std::add_const是不可能的所以我尝试了这样的事情:templatestructadd_const_pointer{typedefconstvalue_typetype;};templatestructadd_const_pointer{typedefconstvalue_type*type;};templateclassFoo{public:typedefTvalue_type;typedefadd_const_pointer,std::is_pointer::value>::typeconst_value

c++ - 如果函数未限定,则不考虑函数调用的静态声明

"painting/qpathclipper.cpp",line1643.30:1540-0274(S)Thenamelookupfor"fuzzyCompare"didnotfindadeclaration."painting/qpathclipper.cpp",line1643.30:1540-1292(I)Staticdeclarationsarenotconsideredforafunctioncallifthefunctionisnotqualified.我正在尝试在xlC9.0.0.4a上编译Qt4.5.0,并为以下代码获取上述编译器消息:staticboolfuzzyCo

c++ - 非限定查找和(可能)依赖的基类

考虑以下程序:templatestructt{structbase{voidf1();};structderived:base{voidf2(){f1();}};};在derived::f2中,非限定查找用于查找f1。base会被搜索吗?base::f1会被找到吗?base是依赖类型吗?请引用标准来证实您的答案。 最佳答案 是的,base是相关的,因此找不到f1。在C++03中,addition明确了这一点。14.6.1/2d(在C++98中不存在),在C++0x中直接由14.6.2.1/6(n3126)声明。它的依赖很重要,因为下

ios - __strong 非 ARC 项目中使用的限定符

该项目未启用ARC,但我们(错误地)使用符合ARC的代码库-特别是一个用于创建GCDSingleton.h中定义的单例对象的代码库:#defineDEFINE_SHARED_INSTANCE+(id)sharedInstance{staticdispatch_once_tpred=0;__strongstaticid_sharedObject=nil;dispatch_once(&pred,^{_sharedObject=^{return[[selfalloc]init];}();});return_sharedObject;}即使共享对象是用__strong限定符定义的,这似乎也有效

java - 使用java在hbase中检索任意三个随机限定符

我的hbase表如下所示:hbase(main):040:0>scan'TEST'ROWCOLUMN+CELL4column=data:108,timestamp=1399972960190,value=-240.04column=data:112,timestamp=1399972960138,value=-160.04column=data:12,timestamp=1399972922979,value=24column=data:120,timestamp=1399972960124,value=-152.04column=data:144,timestamp=13999729