I'm using vc++ Introductory Edition. I also have the commandline version of vc++.net that comes with the .net sdk. The vc++.net compiler compiles c code fine but not the c++ code because it doesn't have the STL i think someone said. So I had an idea. I copied the vc++.net compiler (cl.exe and other dlls) to the vc6 bin directory. I don't have problems compiling c code but I am still having problems with c++ code. A simple c++ program that includes iostream gives me these errors.

Code:
 
--------------------Configuration: perfect_numbers - Win32 Release--------------------
Compiling...
cl : Command line warning D4029 : optimization is not available in the standard edition compiler
perfect_num.cpp
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(81) : warning C4346: '_It::iterator_category' : dependent name is not a type
        prefix with 'typename' to indicate a type
        C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(84) : see reference to class template instantiation 'std::iterator_traits<_It>' being compiled
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(81) : error C2146: syntax error : missing ';' before identifier 'iterator_category'
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(81) : error C2501: 'std::iterator_traits<_It>::iterator_category' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(82) : warning C4346: '_It::value_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(82) : error C2146: syntax error : missing ';' before identifier 'value_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(82) : error C2501: 'std::iterator_traits<_It>::value_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(83) : warning C4346: '_It::distance_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(83) : error C2146: syntax error : missing ';' before identifier 'distance_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(83) : error C2501: 'std::iterator_traits<_It>::distance_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(224) : warning C4348: 'std::istreambuf_iterator' : redefinition of default parameter : parameter 2
        C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(279) : see declaration of 'std::istreambuf_iterator'
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(226) : warning C4346: '_Tr::off_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
        C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(279) : see reference to class template instantiation 'std::istreambuf_iterator<_E,_Tr>' being compiled
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(226) : error C2923: 'std::iterator' : '_Tr::off_type' is invalid as template argument '#3', type expected
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(231) : warning C4346: '_Tr::int_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(231) : error C2146: syntax error : missing ';' before identifier 'int_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(231) : error C2501: 'std::istreambuf_iterator<_E,_Tr>::int_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(289) : warning C4348: 'std::ostreambuf_iterator' : redefinition of default parameter : parameter 2
        C:\Program Files\Microsoft Visual Studio\VC98\Include\UTILITY(318) : see declaration of 'std::ostreambuf_iterator'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(25) : warning C4346: '_A::size_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
        C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(597) : see reference to class template instantiation 'std::basic_string<_E,_Tr,_A>' being compiled
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(25) : error C2146: syntax error : missing ';' before identifier 'size_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(25) : error C2501: 'std::basic_string<_E,_Tr,_A>::size_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(26) : warning C4346: '_A::difference_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(26) : error C2146: syntax error : missing ';' before identifier 'difference_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(26) : error C2501: 'std::basic_string<_E,_Tr,_A>::difference_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(27) : warning C4346: '_A::pointer' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(27) : error C2146: syntax error : missing ';' before identifier 'pointer'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(27) : error C2501: 'std::basic_string<_E,_Tr,_A>::pointer' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(28) : warning C4346: '_A::const_pointer' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(28) : error C2146: syntax error : missing ';' before identifier 'const_pointer'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(28) : error C2501: 'std::basic_string<_E,_Tr,_A>::const_pointer' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(29) : warning C4346: '_A::reference' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(29) : error C2146: syntax error : missing ';' before identifier 'reference'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(29) : error C2501: 'std::basic_string<_E,_Tr,_A>::reference' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(30) : warning C4346: '_A::const_reference' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(30) : error C2146: syntax error : missing ';' before identifier 'const_reference'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(30) : error C2501: 'std::basic_string<_E,_Tr,_A>::const_reference' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(31) : warning C4346: '_A::value_type' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(31) : error C2146: syntax error : missing ';' before identifier 'value_type'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(31) : error C2501: 'std::basic_string<_E,_Tr,_A>::value_type' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(32) : warning C4346: '_A::pointer' : dependent name is not a type
        prefix with 'typename' to indicate a type
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(32) : error C2144: syntax error : 'std::iterator' should be preceded by ';'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(32) : error C2698: the using-declaration for 'pointer' cannot co-exist with the existing using-declaration for 'pointer'
C:\Program Files\Microsoft Visual Studio\VC98\Include\XSTRING(32) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.

perfect_numbers.exe - 26 error(s), 16 warning(s)
Can any c++ gurus help me with this?