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 bcc32 command-line compiler: d:\src\cl\demo>bcc32 rtmap.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland rtmap.cpp: Error E2034 rtmap.cpp 19: Cannot convert 'int' to '__rwstd::__rb_tree,__rwstd::__select1st,int>,less,allo cator > >::iterator' in function main() Error E2285 rtmap.cpp 20: Could not find a match for '__rwstd::__rb_tree,__rwstd::__select1st,int>,less,a llocator > >::iterator::iterator(int)' in function main() Warning W8004 rtmap.cpp 24: 'it2' is assigned a value that is never used in func tion main() Warning W8004 rtmap.cpp 24: 'it' is assigned a value that is never used in funct ion main() Error E2062 e:\bcc55\include\rw/tree.cc 248: Invalid indirection in function ins ert(int,int) *** 3 errors in Compile *** And a filtered run using the bcc-specific STLFilt: d:\src\cl\demo>bfilt rtmap.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland BD Software STL Message Decryptor (Release .82 for Borland C++) rtmap.cpp: rtmap.cpp(19): Cannot convert 'int' to 'map::iter' in main rtmap.cpp(20): Could not match 'iter(int)' in main rtmap.cpp(24): Warning: 'it2' is assigned a value that is never used in main rtmap.cpp(24): Warning: 'it' is assigned a value that is never used in main e:\bcc55\include\rw/tree.cc(248): Invalid indirection in function insert(in t,int) *** 3 errors in Compile *** [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.]