我正在尝试在 Visual Studio 2012 中使用委托构造函数。以下代码在 Xcode 4.6 中编译,但在 Visual Studio 2012 中不编译:
在 .h 文件中
class ErrorReportDlg : public QDialog
{
public:
ErrorReportDlg(OwlExceptionPtr ex, QWidget *parent);
ErrorReportDlg(QWidget *parent);
virtual ~ErrorReportDlg();
}
在 .cpp 文件中
// FWIW, OwlExceptionPtr is
// typdef boost::shared_ptr<OwlException> OwlExceptionPtr
ErrorReportDlg::ErrorReportDlg(OwlExceptionPtr ex, QWidget *parent)
: QDialog(parent),
_error(ex)
{
// stuff
}
ErrorReportDlg::ErrorReportDlg(QWidget *parent)
: ErrorReportDlg(OwlExceptionPtr(), parent) // <--- error here
{
// do nothing
}
我得到的错误是:
错误 C2437:“ErrorReportDlg”:已初始化
我究竟做错了什么?谢谢!