我正在尝试在 Visual Studio 2012 Update 3 中使用委托构造函数,但出现错误:
$> cl.exe /EHsc /W4 /MTd .\bla.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
bla.cpp
.\bla.cpp(6) : error C2614: 'Bla' : illegal member initialization: 'Bla' is not
a base or member
示例源文件:
#include <iostream>
class Bla {
public:
Bla() : Bla(10) { std::cout << "bla()" << std::endl; }
Bla(int _n) { std::cout << "bla(int): " << _n << std::endl; }
};
int main()
{
Bla b0;
Bla b1(10);
}
它似乎以前有效,并在此视频中进行了描述(从 31:30 左右开始)。
有人可以告诉我 Visual Studio 2012 中委托构造函数的实现状态吗?还是我做错了什么?也许我的cl.exe命令?还是我需要安装一些 CTP 编译器之类的?