{"id":2303,"date":"2012-08-10T17:58:07","date_gmt":"2012-08-10T17:58:07","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2012\/08\/10\/compiler-bugs-fixed-in-visual-studio-2012\/"},"modified":"2019-02-18T18:41:37","modified_gmt":"2019-02-18T18:41:37","slug":"compiler-bugs-fixed-in-visual-studio-2012","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/compiler-bugs-fixed-in-visual-studio-2012\/","title":{"rendered":"Compiler Bugs Fixed In Visual Studio 2012"},"content":{"rendered":"<p>Following <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2012\/06\/15\/10320846.aspx\">STL Bugs Fixed In Visual Studio 2012<\/a>, here are similar lists for the compiler front-end (responsible for parsing C++)&#8230;<\/p>\n<table style=\"border-collapse: collapse\" border=\"0\">\n<tbody>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\">ID<\/td>\n<td style=\"border-width: 1px;border-style: solid\">Title<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/599151\">599151<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Using declaration for a name of a type does not work in MS C++ compilers<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/603872\">603872<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Support for XML Documentation in native C++ code<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/611359\">611359<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++ compiler: Temporary object created when it should not, thus making code that worked in VC9 not work anymore!<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/611716\">611716<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++\/CLI class static constructor not called in release build<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/612158\">612158<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Illegal C++ fails to generate C2039 error, allowing buffer overrun<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/619198\">619198<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[c++] Compiler fails to deduce template parameter.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/623481\">623481<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiler crash<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/624283\">624283<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Private copy operator vs __declspec(dllexport)<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/624378\">624378<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Can I double&amp;&amp; in template<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/624757\">624757<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Incorrect function template deduction involving pointor to member data<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/625710\">625710<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compilation error in case of repeating forward declaration within class<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/629060\">629060<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiler Crash related to System.Core and String^<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/629262\">629262<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C\/C++ Optimizing Compiler has stopped working &#8211; System.Core and String^ related<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/629931\">629931<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Internal compiler error C1001 when compiling OpenCV 2.1\/2.2 with C++\/CLI 64 bit<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/632850\">632850<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC++ 2010 Line Number Wrapping<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/633274\">633274<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++ compiler allows use of unspecialized member function template<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/633782\">633782<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++ #pragma secion doesn&#8217;t allow read,write,execute<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/634671\">634671<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Bug with operator overloading and nested lambdas<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/634688\">634688<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Wrong return type when running nested lambda<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/634966\">634966<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Argument dependent lookup chooses the wrong function inside sizeof statements<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/636634\">636634<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Unexpected error C2751 reported at &#8216;using namespace&#8217; directive inside a lambda expression.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/640228\">640228<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">compiler template declaration\/definition mismatch error<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/640281\">640281<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++\/CLI compiler crashes when attempting to compile event System::EventHandler&lt;&gt;;<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/641023\">641023<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Inner lambda capture list can&#8217;t see variable through auto-capture of outer lambda, thus rendering the name unknown to the inner capture list<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/641032\">641032<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Lambda&#8217;s automagic ctor gets wrong signature (or call) when implicit and explicit capture is mixed.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/644190\">644190<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Unexpected error C2871 reported at &#8216;using namespace&#8217; directive before a lambda expression<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/649898\">649898<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC10 STL: std::pair template constructors ignore if elements are implicitly constructable or not<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/649953\">649953<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Incorrect code generated when returning struct by value and compiling for x86.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/650667\">650667<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Incorrect IDE error<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/651255\">651255<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++ CLI property overriding and renaming<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/651762\">651762<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Incorrect deduction when taking the address of an instantiated member function template using a template type<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/651972\">651972<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Visual C++: Copy Constructor Bug for Base Class with Template Constructor<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/652743\">652743<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">default constructors of __declspec(selecany) variables not called<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/657040\">657040<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Buggy static_assert<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/661294\">661294<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Wrong &#8220;this&#8221; pointer when using templates in C++ and targeting x64 Platform<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/663659\">663659<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Large arrays with const size can crash at run-time on win64<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/663884\">663884<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC10: weird template deduction error with non-type default template argument<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/663904\">663904<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiler fails to compile inner struct\/class\/union in a namespace after some forward declarations<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/665425\">665425<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C1001 Error &#8211; &#8220;virtual&#8221; inheritance, member function pointer template and &#8220;Enable minimal rebuild&#8221;<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/667226\">667226<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">private template operators in C++ treated as public<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/669549\">669549<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[C++] Temporary strings implicitly constructed take l-value path instead of r-value path<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/674672\">674672<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Callee disassembly expects address which caller is not providing in x64 mode<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/674867\">674867<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">static_assert failure does not trigger a compilation error<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/674944\">674944<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++\/CLI compiler gives error C3214 when invoking a class with generic constraint<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/676125\">676125<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Public Parameterless Constructor Not Found in VC++<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/679716\">679716<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Bug in VC++ 2010 with global refence to array<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/681998\">681998<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++: member rvalue references are initialized with erroneous copies in constructor initializer list<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/682454\">682454<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiler bug &#8211; cannot access private member declared in class<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/682688\">682688<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[C++] Failure to compile functions taking template template arguments of dependent types<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/682689\">682689<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[C++] No warning when returning r-value-references to locals \/ temporaries<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/682695\">682695<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[C++] __alignof() fails to properly evalute alignment of dependent types<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/684807\">684807<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">template template parameters don&#8217;t work with unions<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/684953\">684953<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">miscompilation of aggregate initializer with lambdas inside<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/687344\">687344<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Lambda ICE<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/687345\">687345<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Local class and lambda<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/687903\">687903<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC++ 2010 Compiler Crash when using properties (__declspec(property..) and \/doc option<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/687931\">687931<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">cl.exe crashes with a message box compiling some specific code<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/687935\">687935<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Ambiguous call to overloaded function in c++ when using lambdas<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/688106\">688106<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Fatal Error C1001<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/688107\">688107<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C2466 emitted twice for the same construct<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/688198\">688198<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Invalid error error C2871 when using functions defined within nested namespaced in lambdas.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/688443\">688443<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C2143 emitted twice for the same construct<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/689504\">689504<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C2326 on Lambdas with [this]-Capture<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/689815\">689815<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">std::result_of not working with lambdas<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/690955\">690955<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C4673 Compiling Exception Hierarchy Using Virtual Multiple Inheritence<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/693671\">693671<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compile Error in globally scoped lambda with a for loop<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/694857\">694857<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Bug in lambda expressions<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/696310\">696310<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C2027 emitted multiple times compiling deque with an incomplete stored class<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/696412\">696412<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiling local static auto object causes internal compiler error<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/697006\">697006<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC++ cannot resolve function overload as template parameter<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/697086\">697086<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C4430 emitted twice for the same construct<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/697512\">697512<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Internal compiler error while compiling specific initializer of global object.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/698148\">698148<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C4743 warning on explicit call of a templated function<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/699236\">699236<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Visual C++ does not handle based enums correctly<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/699543\">699543<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Internal compiler error in CL.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/703088\">703088<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Cannot call static member functions of template types directly from lambdas in C++.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/704352\">704352<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">The function pointer types estimated by template are wrong<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/704955\">704955<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Cannot directly return with decltype<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/706537\">706537<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">compile error C2663 in lambda, if boost 1.48 posix_time.hpp is included.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/708011\">708011<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Compiling trivial boost::property_tree test gives fatal error C1001<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/711056\">711056<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">D8030: INTERNAL COMPILER ERROR<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/712925\">712925<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">error C2563: mismatch in formal parameter list<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/712990\">712990<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">bad warning using negative value for enum with underlying type specified as signed short<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/713679\">713679<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Unexpected behaviour of this capture in a lambda expression<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/714524\">714524<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">illegal use of local type in template instantiation<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/714628\">714628<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Argument Dependent Lookup Failure in Visual C++ 2010<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/716461\">716461<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">const data member triggers dynamic initialization with C++ compiler<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/717318\">717318<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Incorrect parsing of pointer to array return types in trailing return type template functions<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/717474\">717474<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Unterminated __asm blocks cause memory exhaustion for compiler<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/718050\">718050<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Warning C4355: &#8216;this&#8217; : used in base member initializer list<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/718578\">718578<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">[C++] Reference default argument falsely converted to pointer on instantiation of more than 2 explicit specializations<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/718621\">718621<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC++10 crashing on basic BOOST_TYPEOF usage<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/719083\">719083<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">C++ compiler &#8211; decltype doesn&#8217;t infer the correct return type &#8211; vector&lt;int&gt;&amp; instead of vector&lt;int&gt;.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/719275\">719275<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Visual C++ compiler won&#8217;t accept a function pointer as a templated rvalue reference parameter<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/720670\">720670<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Failed to compile program using boost::program_options and lambda expression<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/724314\">724314<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">T const &amp; cannot receive char[]<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/724319\">724319<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">decltype can generate references of zero sized array<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/724362\">724362<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">unable to match function definition<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/724616\">724616<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Absence of conversion operator-function to pointer to function in lambda-expression.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/725134\">725134<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Nested lambda expressions can not capture entities of enclosing lambda expressions<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/725189\">725189<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">decltype deduces wrong type<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/725876\">725876<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Rvalue reference overloading rules<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/726039\">726039<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">error C2914: &#8216;foo&#8217; : cannot deduce template argument as function argument is ambiguous<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/727873\">727873<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VC 11 optimizing compiler crash<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/728349\">728349<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">VS11 Beta &#8211; fatal error C1001<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/728741\">728741<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Auto type deduction gets confused for multiple variables<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/730244\">730244<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Reference capture by inner lambda of by-value captured variable of non-mutable outer lambda causes weird compiler error<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/730538\">730538<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Out-of-line method definition in template specialization<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/732063\">732063<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">decltype expressions involving polymorphic callable entities fails in VC++11 Beta but works in VC++10<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/733475\">733475<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Impossible value-initialization with decltype<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/734023\">734023<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">ICE (compiler crash), probably related to try-catch in lambda<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/734303\">734303<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">Lambda-to-function-pointer conversion fails in nested lambdas.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/734791\">734791<\/a><\/td>\n<td style=\"border-width: 1px;border-style: solid\">\/Za (disable extensions) disables template arguments with local linkage, which is a C++11 feature.<\/td>\n<\/tr>\n<tr>\n<td style=\"border-width: 1px;border-style: solid\"><a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/735254\">735254<\/a><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Following STL Bugs Fixed In Visual Studio 2012, here are similar lists for the compiler front-end (responsible for parsing C++)&#8230; ID Title 599151 Using declaration for a name of a type does not work in MS C++ compilers 603872 Support for XML Documentation in native C++ code 611359 C++ compiler: Temporary object created when it [&hellip;]<\/p>\n","protected":false},"author":289,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[3],"class_list":["post-2303","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-dev"],"acf":[],"blog_post_summary":"<p>Following STL Bugs Fixed In Visual Studio 2012, here are similar lists for the compiler front-end (responsible for parsing C++)&#8230; ID Title 599151 Using declaration for a name of a type does not work in MS C++ compilers 603872 Support for XML Documentation in native C++ code 611359 C++ compiler: Temporary object created when it [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/2303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/289"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=2303"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/2303\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=2303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=2303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=2303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}