如何使用默认和删除的函数C ++

时间:2012-09-11 10:14:49

标签: c++ c++11

我最近尝试了解C ++ 11中的默认和删除函数,我编写了下面的示例代码。当我尝试运行时说:

  

错误C2065:'default':未声明的标识符

守则:

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

struct A
{
    int age;

    A(int x): age(x){};
    A() = default;

};

int _tmain(int argc, _TCHAR* argv[])
{
    A test(10);
    cout << test.age << endl;
    return 0;
}

2 个答案:

答案 0 :(得分:7)

您似乎正在使用Microsoft Visual Studio。很抱歉,即使在新版本VC11中,Microsoft编译器也不允许这种新语法。

检查可用功能列表here。您将看到默认和删除的功能尚不可用。

答案 1 :(得分:1)

使用MSVC ++编译器does not support默认和删除函数的Visual Studio。你需要使用类似MinGW's G ++的东西。