INFO: Compiler Errors When Compiling a C++ File as a C FileLast reviewed: September 30, 1997Article ID: Q104672 |
The information in this article applies to:
SUMMARYThe following error is typically the first of many returned by the Microsoft C/C++ Compiler when attempting to compile a file that includes a C++ header file such as IOSTREAM.H in a C program:
ios.h(33) : error C2282: 'class' is followed by 'streambuf'. (missing ','?)There may also be multiple C2054, C2085, C2143, and C2144 errors, and eventually a C1003 error indicating that the error count reached 100.
MORE INFORMATIONThe C/C++ compiler invokes either the C compiler or the C++ compiler according to the file's extension. If it ends in .C, the C compiler is invoked; if it ends in .CPP or .CXX, the C++ compiler is invoked. To invoke the C++ compiler on a file that ends in .C or some other extension, use the /Tp switch to explicitly specify a C++ source file. The sample code below produces the above errors, if compiled with:
cl hello.cThe code compiles fine if compiled with:
cl hello.cpp -or- cl /Tp hello.c Sample Code
/* Compile options needed: None */ #include <iostream.h> void main (void) { cout << "Hello World"; } |
Additional query words: 8.00 8.00c 9.00 9.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |