草庐IT

c++ - QT - QAction::eventFilter:不明确的快捷方式重载

在这里和其他类似qtcentre的地方搜索我看到这个问题已经出现但似乎无法让它工作。我有一个带有QSplitter的MainWindow小部件,它包含两个Pane小部件(从QFrame子类化)。每个Pane都有一个菜单栏,其中包含相同的相关QActions/Shortcuts。我已经尝试了ShortcutContexts与setShortcutContext()的所有组合。WindowShortcut和ApplicationShortcut上下文给出了预期的“不明确的快捷方式过载”。虽然WidgetShortcut和WidgetWithChildrenShortcut都什么都不做。如果

c++ - 非常简单的代码,出现错误 C2712,不明白为什么

errorC2712:Cannotuse__tryinfunctionsthatrequireobjectunwinding我遇到了一段时间的麻烦,在缩小问题范围后,我只剩下一个非常非常简单的代码,我可以不明白为什么会导致这个错误。我在Windows下使用VisualStudio。我正在使用/EHa进行编译(我不使用/EHsc)我使用__try/__except而不是try/catch的原因是因为我想捕获所有错误,并且不希望程序在任何情况下崩溃,包括例如除以0,try-catch不会捕获。#includestaticstructmyStruct{staticstd::stringfoo

c++ - 编译器不会为 "const"和 "not-const"函数给出不明确的错误

我在C++结构中重载了const和non-const函数。然后,我运行了该程序,我想知道它运行良好,没有出现模棱两可的错误。#includestructSt{intf()const{return1;}intf(){return2;}}s;intmain(){intret=s.f();std::cout所以,我只是想知道,为什么编译器不对“const”和“not-const”函数给出模棱两可的错误? 最佳答案 这是constoverloading,即athing在C++中。在这种情况下,编译器确定该结构没有重载函数返回类型(当然是di

c++ - 我不明白为什么 'Derived1' 需要与 'Derived3' 相同的内存量

在下面的代码中,我不明白为什么“Derived1”需要与“Derived3”相同的内存量。另外Derived4的size为16有没有什么特殊意义。#includeusingnamespacestd;classEmpty{};classDerived1:publicEmpty{};classDerived2:virtualpublicEmpty{};classDerived3:publicEmpty{charc;};classDerived4:virtualpublicEmpty{charc;};classDummy{charc;};intmain(){cout这段代码的输出是:size

c++ - 解决 operator[] 的不明确重载

我有这门课:classMyClass{public:intoperator[](conststd::string&);conststd::string&operator[](constint&)const;...};但是,如果我调用带有const文字0的第二个运算符,它会非常有用:MyClassmyclass;std::cout我遇到了这个错误:Infunction'intmain()':ambiguousoverloadfor'operator[]'in'myclass[0]'note:candidatesare:note:constintMyClass::operator[](co

C++0x 错误:将带有 std::shared_ptr 的函数重载为 const 参数不明确

假设我有两个不相关类A和B。我还有一个类Bla使用boost::shared_ptr像这样:classBla{public:voidfoo(boost::shared_ptr);voidfoo(boost::shared_ptr);}注意const。这是这个问题的原始版本缺少的重要部分。这编译,下面的代码工作:Blabla;boost::shared_ptra;bla.foo(a);但是,如果我在上述示例中从使用boost::shared_ptr切换到使用std::shared_ptr,我会收到如下编译错误:"error:callofoverloaded'foo(std::shared

c++ - 不明确的 if 和 else 分支 : Is the behaviour defined?

我最近遇到了一些像下面这样的C++代码:if(test_1)if(test_2){//Dostuff}elseexit(0);这是不明确的,因为编译器可以将其视为:if(test_1){if(test_2){}else{}}或作为:if(test_1){if(test_2){}}else{}这段代码的行为是根据任何标准(C、C++)定义的吗?我在VC++上的一个C++程序中看到这段代码,它似乎更喜欢第一种解决方案。 最佳答案 Isthebehaviourofthiscodedefinedaccordingtoanystandard(

c++ - Visual Studio 不允许我使用 sqrt 或 floor,对重载函数的调用不明确

我调用longlonga=sqrt(n/2);a和n都是longlong但它不会让我编译因为它说我使用sqrt()是一个模棱两可的调用。我根本看不出它在这里可能是模棱两可的。我该如何解决这个问题?我对floor()也有同样的问题。我的包括#include"stdafx.h"#include#includeusingnamespacestd; 最佳答案 sqrt()有几个重载和floor(),对sqrt(longlong)的调用没有“最佳匹配”根据重载决议规则。只需将参数转换为适当的类型——即,longlonga=sqrt(stati

c++ - 不明确的构造函数调用

我正在尝试创建一个简单的日期类,但我在主文件中收到一条错误消息:“重载Date()的调用不明确。”我不确定为什么因为我认为只要我的构造函数有不同的参数,我就可以了。这是我的代码:头文件:#ifndefDATE_H#defineDATE_Husingstd::string;classDate{public:staticconstintmonthsPerYear=12;//numofmonthsinayrDate(int=1,int=1,int=1900);//defaultconstructorDate();//usessystemtimetocreateobjectvoidprint(

ios - 对 xxx 的引用不明确

更新cocoapods版本后,我的项目报错对“xxx”的引用不明确(xxx是枚举)找到~/Library/Developer/Xcode/DerivedData/并删除所有但它不起作用如何解决? 最佳答案 您的cocoapod库/框架之一以某种方式链接了两次。引用:-CocoaPods/issues同时交叉检查您是否导入了头文件(包含enum)两次。 关于ios-对xxx的引用不明确,我们在StackOverflow上找到一个类似的问题: https://st