Problem s gcc - moj, alebo kompilatora?

Gratz Jaroslav xgratz01 na stud.fee.vutbr.cz
Pondělí Březen 12 14:10:04 CET 2001


Tak se omlouvam, chybicka se vloudila

On Sun, 11 Mar 2001, Jaroslav Gratz wrote:

> #include <iostream.h>
>
> class parent
> { friend const parent& operator<<(const parent &, const char *); };
>
> const parent& operator<<(const parent &p, const char *s)
> {
>   cout << s;
>   return p;
> }
>
> class child: public parent {};
>
> void foo(const parent &t) {}

tady ma byt void foo(const child &t) {}

> main()
> {
>   child a;
>   foo(static_cast<const parent &> (a << "Hello "));
>   foo(static_cast<const parent &> (child() << "World\n"));

a tady
  foo(static_cast<const child &> (a << "Hello "));
  foo(static_cast<const child &> (child() << "World\n"));

aby to odpovidalo puvodnimu kodu.
Jak vidite, tak i v Hello World dokazu udelat chybu :-)

Ale i takhle se to bez prelozi, takze bych se priklanel k tomu, ze je
chyba v gcc/libstdc++ v RH 7.0.

Jaroslav Gratz



Další informace o konferenci Linux