C++ 从函数返回失败C++;
我有一个问题,我不知道为什么会发生。 我的Qt项目包括类C++ 从函数返回失败C++;,c++,qt,smtp,C++,Qt,Smtp,我有一个问题,我不知道为什么会发生。 我的Qt项目包括类AllExceptions。它具有以下构造函数: AllExceptions::AllExceptions(std::string errName){ errorMessage = errName; } //<<<--- 其中response是表示smtp服务器应答的字符串 问题:程序无法构建对象。我排除了错误,发现它在我标记的点卡住了。请在该点显示堆栈。第一个建议:发布更多相关代码。最好是。在哪里声明了erro
AllExceptions
。它具有以下构造函数:
AllExceptions::AllExceptions(std::string errName){
errorMessage = errName;
} //<<<---
其中response
是表示smtp服务器应答的字符串
问题:程序无法构建对象。我排除了错误,发现它在我标记的
点卡住了。请在该点显示堆栈。第一个建议:发布更多相关代码。最好是。在哪里声明了errorMessage
?这是一个<代码> STD::String ,正确吗?风格注释:习惯C++使用初始化列表,Qt项目中的代码有什么意义?您的构造函数应该是:AllExceptions(constqstring&msg):m_errorMessage(msg){}
@loentar stack trace added
throw AllExceptions(response);
AllExceptions::AllExceptions (this=0xaf47d0, errName={static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffffffca10 \"\\330;\\257\"}})
Email::sendMessage (this=0xa2e950)
NewMailWindow::sendMail (this=0x885bb0)
NewMailWindow::qt_static_metacall (_o=0x885bb0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffcdb0)
QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
QAbstractButton::clicked(bool) ()
?? ()
?? ()
QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
QWidget::event(QEvent*) ()
QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
QApplication::notify(QObject*, QEvent*) ()
QCoreApplication::notifyInternal(QObject*, QEvent*) ()
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
?? ()
QApplication::x11ProcessEvent(_XEvent*) ()
?? ()
g_main_context_dispatch ()
?? ()
g_main_context_iteration ()
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
?? ()
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
QCoreApplication::exec() ()
main (argc=1, argv=0x7fffffffe478)
class AllExceptions{
public:
AllExceptions(std::string errName);
std::string getErrMess() {return errorMessage;};
void displayError();
private:
std::string errorMessage;
};