Standard Library Template Error
llewelly@xmission.com
llewelly@xmission.com
Tue Jul 6 19:56:00 GMT 2004
Janet Borzuchowski <borzuj@stamps.stortek.com> writes:
> Hi,
> We recently switched from gcc 2.8.1 to gcc 3.3. When compiling, I get
> the following errors:
I'm sorry, but without seeing a short but releveant code example, one
can only guess why.
The streams library shipped with 3.3 aims for compliance with the 1998
ISO C++ standard. It is radically different from the 1990 ARM C++
streams library 2.8.1 shipped with. If your code makes much use of
custom stream buffers and such, you're in for some work.
>
> ..... Compiling
> /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr
> oup.cc
> ..... Into
> /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr
> oup.o
> /apps/gcc-3.3/include/c++/3.3/bits/basic_ios.h: In instantiation of
> `std::basic_ios<char, NamedData>':
> /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr
> oup.cc:483: instantiated fro
> m `std::basic_ostream<char, NamedData>'
Why are you instantiating a basic_ostream on char and NamedData? If
NamedData is a traits class, it needs typedefs for pos_type,
int_type, and off_type. If it isn't a traits class, it doesn't
belong in basic_ostream's parameter list.
[snip]
> There are no types int_type, pos_type and off_type in class NamedData or
> in any of our files. How do I get rid of these errors? I've played but to no
> avail. These errors did not occur in 2.8.1.
[snip]
2.8.1 did not have a basic_ostream class template at all. So I don't
think these errors are simply due to migration - something else
must have been changed as well. (Possibly, you were using a
3rd-party implementation of the standard library?)
More information about the Gcc-help
mailing list