草庐IT

QT_THROW

全部标签

c++ 在自定义异常的方法/构造函数签名中有和没有 throw()

我是C++的初学者,因此对这个愚蠢的问题深表歉意。我将它发布在这里是因为我在stackoverflow上找不到类似的答案。我正在处理C++中的异常,并且在我动手处理自定义异常时,我有这段代码classMyException:publicstd::exception{public:virtualconstchar*what()constthrow(){return"somethingbadhappened";}};//classthatthrowsaboveexceptionclasscanGoWrong{public:canGoWrong(){throwMyException();}}

QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系

首先需要回顾一下cpp命名空间知识;扩展命名空间:一个文件中书写了两个相同名字的命名空间,第二个命名将作为第一个命名空间的补充例如:第一个Ui命名空间是一个前置声明;第二个Ui是具体定义,就跟函数声明和函数名义一模一样以上代码等价于一下代码:进入正题:ui_xxxx.h文件有一个命名空间Ui,其中定义了一个类MainWindow继承字Ui_MainWindow,这样就具有UI_MainWindow所有特征了。其中还有两个宏QT_BEGIN_NAMESPACE与QT_END_NAMESPACEQT_BEGIN_NAMESPACE:这是一个Qt框架中的宏,它标志着命名空间的开始。它实际上被定义为{

QT/C++——网络编程

目录一、基础知识复习二、UDP客户端:服务器:三、TCP服务器:客户端:四、小项目客户端:服务器:一、基础知识复习这部分内容前面讲的比较详细,现在就是简单复习一下。两台主机之间通信要经过封包他有一堆包头 TCP、UDP都是基于套接字,C写我感觉已经挺简单了,老师说C++更简单,我们往下学学看。二、UDP网络编程这块要在工程文件中加上network服务器是被动套接字,客户端是主动套接字客户端:#ifndefWIDGET_H#defineWIDGET_H#include#include#include#include#include#includeclassWidget:publicQWidget

c++ - `qt_noop`的用途是什么

我刚刚发现qt_noop()的存在,在qglobal.h中定义为:inlinevoidqt_noop(){}这有什么意义? 最佳答案 “noop”名称是“nooperation”的缩写,意思是它是一个什么都不做的占位符函数。您可能还知道NOP,它存在于汇编语言中。我知道它在一些宏内部使用,这些宏应该只为调试构建做一些事情,例如:#ifndefQT_NO_DEBUG#defineQ_ASSERT(cond)((!(cond))?qt_assert(#cond,__FILE__,__LINE__):qt_noop())#else#def

c++ - 在实现非抛出交换时我应该使用 throw() 吗?

在实现非抛出交换习语时,我应该使用throw()吗?namespaceA{structB{voidswap(B&other)throw(){/*fancystuffthatdoesn'tthrow*/}};voidswap(B&lhs,B&rhs)throw(){lhs.swap(rhs);}}namespacestd{templatevoidswap(A::B&lhs,A::B&rhs)throw(){lhs.swap(rhs);}}我特别担心将throw()规范放在std::swap的特化上。奖励问题:使用C++0x的noexcept关键字时答案是否不同?

c++ - Qt - 获取 "warning: format not a string literal and no format arguments"

在这样的行上不断收到警告qDebug("Anerroroccuredwhiletryingtocreatefolder"+workdir.toAscii());workdir是QString()warning:formatnotastringliteralandnoformatarguments 最佳答案 大概应该是:qDebug("Anerroroccuredwhiletryingtocreatefolder%s",workdir.constData());自qDebug将constchar*作为第一个参数。

c++ - 使用 OpenSSL 构建 QT 期间出错

1.从OpenSSL(openssl-1.0.0d)下载源代码。2.使用这个静态构建它:>perlConfigureVC-WIN32no-asm--prefix=d:\Miatar\cpplibs\openssl>ms\do_ms>nmake-fms\nt.mak>nmake-fms\nt.makinstall3.下载qt-everywhere-opensource-src-4.7.1,修补它(QTDIR\mkspecs\win32-msvc2010\qmake.conf-/MD到/MT和/MDd到/MTd)复制openssl的bin/lib/include文件夹到QTDIRbin/l

c++ - C++ 中的内联 throw() 方法

我正在尝试定义一个非常简单的异常类。因为它太简单了,所以我只想将它保留在.h文件中,但编译器不喜欢throw()。代码:#include#includeclassPricingException:publicvirtualstd::exception{private:std::stringmsg;public:PricingException(std::stringmessage):msg(message){}constchar*what()constthrow(){returnmsg.c_str();}~PricingException()throw(){}};GCC给出以下错误:/

c++ - 尝试编译时出现QT undefined reference 错误

我在我的QT项目中添加了一个IcecastServer类,在pro文件中添加了头文件并添加了一些代码。每次编译都会出现以下错误:release/icecastserver.o:icecastserver.cpp:(.text+0x39):undefinedreferenceto_imp___ZN10QTcpServerC1EP7QObject'release/icecastserver.o:icecastserver.cpp:(.text+0x50):undefinedreferencetoimpZN12QHostAddressC1ENS_14SpecialAddressE'relea

c++ - Qt:如何在设计器中设置 QLineEdit 的验证器?

我现在正在设计一个UI,我有一个QLineEdit,我只需要接受整数。我知道如何设置验证器以在代码中使用QIntValidator。但我想在设计器中执行此操作。如何在使用设计器时设置QLineEdit的验证器?注意:我不想使用输入掩码。输入掩码和验证器的功能不同。 最佳答案 您是问如何通过设计器100%完成,还是针对在设计器中设计的小部件?无论如何,您都需要在代码级别执行此操作,无法直接在设计器中执行此操作-并非所有功能都暴露给它。出于好奇,如果您得到的只是一个整数,为什么不使用QSpinBox?您可以使用QSpinBox并将but