The source program: #include #include #include const int values[] = { 1,2,3,4,5 }; const int NVALS = sizeof values / sizeof (int); int main() { using namespace std; typedef map valmap; valmap m; for (int i = 0; i < NVALS; i++) m.insert(make_pair(values[i], pow(values[i], .5))); valmap::iterator it = 100; // error valmap::iterator it2(100); // error m.insert(1,2); // error return 0; } First, an unfiltered run using the Intel C++ 7.0 compiler: d:\src\cl\demo>icl2 rtmap.cpp Intel(R) C++ Compiler for 32-bit applications, Version 7.0 Build 20030212Z Copyright (C) 1985-2003 Intel Corporation. All rights reserved. 30 DAY EVALUATION LICENSE rtmap.cpp rtmap.cpp(19): error: no suitable constructor exists to convert from "int" to "s td::_Tree, std::allocator>, false>>::iterator" valmap::iterator it = 100; // error ^ rtmap.cpp(20): error: no instance of constructor "std::_Tree<_Traits>::iterator: :iterator [with _Traits=std::_Tmap_traits, std::allo cator>, false>]" matches the argument list argument types are: (int) valmap::iterator it2(100); // error ^ rtmap.cpp(21): error: no instance of overloaded function "std::map<_Kty, _Ty, _P r, _Alloc>::insert [with _Kty=int, _Ty=double, _Pr=std::less, _Alloc=std::a llocator>]" matches the argument list argument types are: (std::map, std::allo cator>>::iterator) object type is: valmap m.insert(it); // error ^ compilation aborted for rtmap.cpp (code 2) And a filtered run using the Intel-specific Proxy icl: d:\src\cl\demo>icl rtmap.cpp ****** {BD Software Proxy ICL v1.00} STL Message Decryption is ON! ****** Intel(R) C++ Compiler for 32-bit applications, Version 7.0 Build 20030212Z Copyright (C) 1985-2003 Intel Corporation. All rights reserved. 30 DAY EVALUATION LICENSE rtmap.cpp rtmap.cpp(19): error: no suitable constructor exists to convert from "int" to "iter" valmap::iterator it = 100; // error ^ rtmap.cpp(20): error: no instance of constructor "iter" matches the argument list argument types are: (int) valmap::iterator it2(100); // error ^ rtmap.cpp(21): error: no instance of overloaded function "map::insert" matches the argument list argument types are: (iter) object type is: valmap m.insert(it); // error ^ compilation aborted for rtmap.cpp (code 2) [Note: demo runs were performed in an 80-column console window with STLFilt's intelligent line wrapping enabled, and with internal switches set to produce messages as terse as possible. More detail is available by tailoring the Decryptor's options.]