Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在VS11中委派构造函数_C++_Visual Studio 2012 - Fatal编程技术网

C++ 在VS11中委派构造函数

C++ 在VS11中委派构造函数,c++,visual-studio-2012,C++,Visual Studio 2012,我试图在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

我试图在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);
}
#包括
Bla类{
公众:
Bla():Bla(10){std::cout
或者我需要安装一些CTP编译器还是什么

的确如此。VS2012的官方版本/更新不支持委托构造函数。您必须安装2012年11月的CTP


是支持(和不支持)C++11功能的摘要由VC11发布。

或其他内容。在您的链接中非常明确地提到了这一点,即支持该版本的编译器版本是CTP版本。VS2013预览版也刚刚推出,可能在秋季左右发布。您需要安装2012年11月CTP或更高版本。或者下载V2013预览版。您还可以下载Visual Studio 2013预览(这是一个比CTP更好的C++11功能实现)谢谢你的回答。我认为CTP编译器的功能会包含在VS更新中。@JohnBandela:不知道有多好。似乎CTP中没有移动语义的丑陋bug(至少是AFAIK)。例如,你看。@guini:不客气。不,它们不包括在内——很可能是因为它们不够稳定和/或可能会带来突破性的变化。