gpt4 book ai didi

C++11 在 Visual Studio 2012 中的委托(delegate)构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:06 25 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 2012 中使用委托(delegate)构造函数。以下代码在 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
}

我得到的错误是:

error C2437: 'ErrorReportDlg' : already initialized

我做错了什么?谢谢!

最佳答案

根据 MSDN , VS 2012 不支持开箱即用的委派构造函数。

当您安装 November 2012 CTP 时,您将获得委派构造函数(以及一系列其他 C++11 功能) (编译器技术预览)。安装后,将您的项目切换为使用 CTP 作为其工具集(通过 Project properties),然后就可以了。

关于C++11 在 Visual Studio 2012 中的委托(delegate)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18914622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com