Mail Archives: djgpp/1996/12/30/17:03:42
Howdy One and All;
I posted a message about this problem a week or so ago, but what with
the
holidays and all I think I missed any replys. So I'll try again! ;)
I'm getting "ambiguous template instantiation" errors for basic_string's
synthisied operators, i.e., !=, >, <=, and so on. My program follows
(From the "STL Tutorial and Reference Guide, Musser and Saini":
// Demonstrating an STL map.
#include <cstdlib>
#ifdef __GNUC__
# include <iostream.h>
#else
# include <iostream>
#endif
#include <map>
#include <string>
int main()
{
map<string, long, less<string> > directory;
directory["Bogart"] = 1234567;
directory["Bacall"] = 9876543;
directory["Cagney"] = 3459876;
// etc.
// Read some names and look up their numbers.
string name;
while (cin >> name)
if (directory.find(name) != directory.end())
cout << "The phone number for " << name
<< " is " << directory[name] << "\n";
else
cout << "Sorry, no listing for " << name << "\n";
return EXIT_SUCCESS;
}
Here is my command line and error messages:
D:\Usr\Randy\Programming\STL\book\Examples\ex02_02>gxx -O
-fhandle-exceptions *.cpp
In file included from d:/djgpp/lang/cxx/std/bastring.h:571,
from d:/djgpp/lang/cxx/std/string.h:6,
from d:/djgpp/lang/cxx/string:5,
from Ex02-02.cpp:10:
d:/djgpp/lang/cxx/std/sinst.h:60: ambiguous template instantiation for
`operator !=(const char *, const
basic_string<char,string_char_traits<char> > &)' requested
d:/djgpp/lang/cxx/std/sinst.h:60: ambiguous template instantiation for
`operator !=(const basic_string<char,string_char_traits<char> > &, const
char *)' requested
d:/djgpp/lang/cxx/std/sinst.h:62: ambiguous template instantiation for
`operator >(const char *, const
basic_string<char,string_char_traits<char> > &)' requested
d:/djgpp/lang/cxx/std/sinst.h:62: ambiguous template instantiation for
`operator >(const basic_string<char,string_char_traits<char> > &, const
char *)' requested
d:/djgpp/lang/cxx/std/sinst.h:63: ambiguous template instantiation for
`operator <=(const char *, const
basic_string<char,string_char_traits<char> > &)' requested
d:/djgpp/lang/cxx/std/sinst.h:63: ambiguous template instantiation for
`operator <=(const basic_string<char,string_char_traits<char> > &, const
char *)' requested
d:/djgpp/lang/cxx/std/sinst.h:64: ambiguous template instantiation for
`operator >=(const char *, const
basic_string<char,string_char_traits<char> > &)' requested
d:/djgpp/lang/cxx/std/sinst.h:64: ambiguous template instantiation for
`operator >=(const basic_string<char,string_char_traits<char> > &, const
char *)' requested
d:/djgpp/lang/cxx/tree.h: In method `void
rb_tree<basic_string<char,string_char_traits<char> >,pair<const
basic_string<char,string_char_traits<char> >,long
int>,select1st<pair<const basic_string<char,string_char_traits<char>
>,long int>,basic_string<char,string_char_traits<char> > >,less<basic_string<char,string_char_traits<char> > > >::erase_hack(struct b_tree_iterator<basic_string<char,string_c
har_traits<char> >,pair<const basic_string<char,string_char_traits<char>
>,long
int>,select1st<pair<const basic_string<char,string_char_traits<char>
>,long int>
,basic_string<char,string_char_traits<char> >
>,less<basic_string<char,string_ch
ar_traits<char> > > >)':
d:/djgpp/lang/cxx/tree.h:954: virtual memory exhausted
Thanks in advance for the help!
-- Randy
====================================================================
Randy Merkel o-
NAR #65722 SR
rmerkel AT ACM DOT org
- Raw text -