Subject: Re: Problem bei C++ - Compiler erkennt Manipulator nicht
To: None <regional-de@NetBSD.org>
From: Klaus Heinz <k.heinz.dez.vier@onlinehome.de>
List: regional-de
Date: 12/02/2004 13:35:28
 [ Dies ist eher ein Problem mit C++ und sollte besser in einem
   entsprechenden Forum (Usenetgruppen comp.lang.c++ oder
   de.comp.lang.c++) behandelt werden ]

Thomas Kaepernick wrote:

> Ohne den showbase-Manipulator laeuft das Programm durch.
> Mein Anliegen: Wie finde ich grundsaetzlich den Haken. Nach dem Lehrbuch
> muesste der Manipulator im iomanip-Include definiert sein. Nun finde ich
> unter /usr/include/ keine Preprocessor-File "iomanip.h". Aber "iostream.h"
> ist auch nicht da, dafuer "stdio.h". 

Wenn ich unbekannte Symbole suche, dann so:

  find /usr/include -type f  | xargs fgrep showbase | more

Das fuehrt mich zu /usr/include/g++/streambuf.h wo "showbase" als
Bestandteil einer Aufzaehlung definiert ist, in der Klasse "ios".
Da das innerhalb des Abschnitts "public:" passiert sollte man darauf mit
"ios::showbase" zugreifen koennen.

Wenn ich dann zu einem Buch ueber die STL greife (The C++ Standard
Library, von Nicolai Josuttis), dann steht das auf Seite 622 auch so :-).

> Also grundsaetzlich heisst fuer mich hier, wie gehe ich auch bei der
> naechsten Diskrepanz heran. Wie finde ich z.B. heraus, welche namespaces
> es noch gibt?

Soweit mich meine angerosteten Kenntnisse zu C++ nicht truegen,
packt die Standardbibliothek alles in "namespace std".


ciao
     Klaus