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