This article gives a list of the known standard noncompliance issues with Visual C++ 6.0.
Back to the top
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
For more information, see the ANSI/ISO C++ Standard.
Back to the top