2

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

错误 C2065:“默认”:未声明的标识符

编码 :

#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;
}
4

2 回答 2

7

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

在此处查看可用功能列表。您将看到Defaulted 和 deleted 函数尚不可用。

于 2012-09-11T10:20:48.100 回答
1

带有 MSVC++ 编译器的 Visual Studio不支持默认函数和已删除函数。你需要使用像MinGW 的G++ 这样的东西。

于 2012-09-11T10:18:01.863 回答