INFO: C++ Standard Noncompliance Issues with Visual C++ 6.0
ID: Q243451
|
The information in this article applies to:
-
Microsoft Visual C++, 32-bit Editions, version 6.0
SUMMARY
This article gives a list of the known standard non-compliance issues with Visual C++ 6.0.
MORE INFORMATION
In the following list the relevant standard section is given in parenthesis. Where an article link is provided, please refer to the article for more information.
- Covariant return types (10.3.5) not supported.
Q240862 BUG: C2555 On Virtual Functions with Covariant Return Types
- Partial ordering of template functions (14.5.5.2) not supported.
Q240869 BUG: C2667 and C2668 on Partial Ordering of Function Templates
- Koenig lookup (3.4.2) not fully supported.
Q242190 BUG: Full Koenig Lookup Works only for operators
- Template arguments must be deduced for function templates (14.8.1).
Q240871 BUG: Explicitly Specified Template Functions Not Overloaded Correctly
-
Class template partial specializations (14.5.4) not supported.
Q240866 BUG: C2989 and C2988 on Class Template Partial Specializations
- Out-of-class-definition for member template classes and functions (14.5.2) not supported.
Q241949 BUG: C2059 on Out-of-class Definition of Member Templates
- Template Template-parameters (14.1) not supported.
Q241940 BUG: C2954 on using class template as template parameter
- Export keyword for templates (14, 14.7.2, 14.7.3) not supported.
Q239436 PRB: LNK2001 on Template Member Functions
- Function Try Block Syntax (15) not supported.
Q241706 BUG: C2123 on Function Try Block Syntax
- uncaught_exception() (18.6.4) not implemented.
Q242192 BUG: uncaught_exception() Always Returns False
- In place initialization static const members (9.2) not supported.
Q241569 BUG: C2258 and C2252 on in Place Initialization of Static Const Members
- C library functions not in standard namespace (17.3.1.2).
Q243444 BUG: CSTDLIB Does Not Define the Namespace STD
- Scope of variable declared in the for loop initialization (6.5.3) not as per standard.
Q167748 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
REFERENCES
For more information, see the ANSI/ISO C++ Standard.
Additional query words:
Keywords : kbCompiler kbLangCPP kbVC600 kbGrpVCCompiler
Version : winnt:6.0
Platform : winnt
Issue type : kbinfo