Help and Support

C++ standard noncompliance issues with Visual C++ .NET

Article ID:243451
Last Review:October 21, 2005
Revision:3.0
This article was previously published under Q243451

SUMMARY

This article gives a list of the known standard noncompliance issues with Visual C++ 6.0.

Back to the top

MORE INFORMATION

In the following list, the relevant standard section is given in parentheses. Where an article link is provided, please refer to the article for more information.
Covariant return types (10.3.5) not supported.
240862 (http://support.microsoft.com/kb/240862/) FIX: C2555 On virtual functions with covariant return types
Partial ordering of template functions (14.5.5.2) not supported.
240869 (http://support.microsoft.com/kb/240869/) BUG: C2667 and C2668 on partial ordering of function templates
Koenig lookup (3.4.2) not fully supported.
242190 (http://support.microsoft.com/kb/242190/) BUG: Full Koenig lookup works only for operators
Template arguments must be deduced for function templates (14.8.1).
240871 (http://support.microsoft.com/kb/240871/) BUG: Explicitly specified template functions not overloaded correctly
Class template partial specializations (14.5.4) not supported.
240866 (http://support.microsoft.com/kb/240866/) BUG: ERROR C2989 and C2988 on class template partial specializations
Out-of-class-definition for member template classes and functions (14.5.2) not supported.
241949 (http://support.microsoft.com/kb/241949/) BUG: C2059 error on out-of-class definition of member templates
Template Template-parameters (14.1) not supported.
241940 (http://support.microsoft.com/kb/241940/) BUG: C2954 error when using class template as template-parameter
Export keyword for templates (14, 14.7.2, 14.7.3) not supported.
239436 (http://support.microsoft.com/kb/239436/) You receive a LNK2001 error message when you use the template member functions
Function Try Block Syntax (15) not supported.
241706 (http://support.microsoft.com/kb/241706/) BUG: Compiler error C2143 on function-try-block syntax
uncaught_exception() (18.6.4) not implemented.
242192 (http://support.microsoft.com/kb/242192/) BUG: The uncaught_exception C Run-Time function always returns false
In place initialization static const members (9.2) not supported.
241569 (http://support.microsoft.com/kb/241569/) Error C2258 and error C2252 occur if you try to perform in-place initialization of static const integral member data in Visual C++
C library functions not in standard namespace (17.3.1.2).
243444 (http://support.microsoft.com/kb/243444/) You receive a C2653 or C2039 error message when you try to reference a function from the STD C++ library
Scope of variable declared in the for loop initialization (6.5.3) not as per standard.
167748 (http://support.microsoft.com/kb/167748/) PRB: Variable scope in for-statement extends beyond loop
Function exception specifiers (15, 15.4) other than throw() are parsed but not used. Example:
void f() throw(int); // parsed but not used   
void g() throw();    // parsed and used   
					


Alternative operators like and ,and_eq, bit and etc are not implemented (2.11). But you can get the same behavior by including iso646.h

Back to the top

REFERENCES

For more information, see the ANSI/ISO C++ Standard.

Back to the top


APPLIES TO
Microsoft Visual C++ 6.0 Enterprise Edition
Microsoft Visual C++ 6.0 Professional Edition
Microsoft Visual C++, 32-bit Learning Edition 6.0
Microsoft Visual C++ .NET 2002 Standard Edition

Back to the top

Keywords: 
kbinfo kblangcpp kbcompiler KB243451

Back to the top

Article Translations

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.