This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
bitset and CHAR_BIT
- To: gcc at gcc dot gnu dot org
- Subject: bitset and CHAR_BIT
- From: Rainer Dorsch <rainer at rainer dot informatik dot uni-stuttgart dot de>
- Date: Tue, 21 Sep 1999 12:24:25 +0300
- cc: schuelts at rupert dot informatik dot uni-stuttgart dot de
- Reply-To: rainer dot dorsch at informatik dot uni-stuttgart dot de
I am wondering, why the example of SGI's STL Manual for bitset is not
compiling with gcc-2.95.1. I get on Linux and Solaris the same error messages.
I included <limits.h> as suggested by http://egcs.cygnus.com/ml/gcc-bugs/1999-0
5/msg00761.html
Does anybody know, what happened?
Thanks.
--Rainer.
#include <iostream>
#include <bitset>
using namespace std;
int main() {
const bitset<12> mask(2730ul);
cout << "mask = " << mask << endl;
bitset<12> x;
cout << "Enter a 12-bit bitset in binary: " << flush;
if (cin >> x) {
cout << "x = " << x << endl;
cout << "As ulong: " << x.to_ulong() << endl;
cout << "And with mask: " << (x & mask) << endl;
cout << "Or with mask: " << (x | mask) << endl;
}
exit(0);
}
g++ test.cc
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset: In function `class istream & operator >><12, long
unsigned int>(istream &, bitset<12,long unsigned int> &)':
test.cc:14: instantiated from here
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset:915: no matching function for call to
`basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >
::push_back (char &)'
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset: In method `void bitset<12,long unsigned int>
::_M_copy_from_string<char, string_char_traits<char>,
__default_alloc_template<false,0> >(const basic_string<char,string_char_traits<
char>,__default_alloc_template<false,0> > &, unsigned int, unsigned int)':
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset:921: instantiated from `operator >><12, long
unsigned int>(istream &, bitset<12,long unsigned int> &)'
test.cc:14: instantiated from here
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset:829: `min' undeclared (first use this function)
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset:829: (Each undeclared identifier is reported only once
/usr/local/gcc-2.95.1-binutils/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../..
/../include/g++-3/bitset:829: for each function it appears in.)
Note, it works with the current STL library of SGI.
--Rainer.