Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ - Spojový seznam - nefunkční Find() a problém s výjimkami

Tak, po frontě jsem tu zas, a se seznamem :D Věc se má tak, že mi z nějakého důvodu nefunguje fce Find, problém dělá přiřazení node=node->next, kde se do node přiřadí 0, ale netuším proč - předpokládal jsem, že když na začátku fce do node přiřadím first, budu moct manipulovat přes node i s nexty...

Tady je kód: http://www.sourcepod.com/mafpzl35-18993

A ohledně výjimek... Pokud mám třeba fci First, která vrací data z hlavy, tak musím ošetřit situaci, kdy je hlava NULL. Normálně jsem to řešil vracením "nepravděpodobné hodnoty", třeba -1, ale to není ok, protože pokud by v hlavě bylo uložené totéž číslo, je s tím problém... Proto jsem chtěl použít nějakou výjimku, která by mi umožnila nevracet nic a vypsat na obrazovku krátkou hlášku o chybě. Bohužel, fprintf(stderr, error) vypíše hlášku, ale za ni ještě počet vytištěných znaků, což mi ve výpisu vadí. Zkusil jsem tedy try-catch, ale tam zase dochází k okamžitému ukončení programu po vytištěné hlášce, popř. to vrací 0 - co s tím? Kód Firstu s výjimkou je zde:

int List::First(){
    try{
        if(!first){
            throw new ListEmptyError();
        }else{
            return first->data;
        }

    }catch(...){
        cout <<  endl;
    }
}

Opět moc díky za rady, snad už mých dotazů bude postupně ubývat :D

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny