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