Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Szablony klasy i funkcji. Błędy zwracania zmiennej

Ostatnio zmodyfikowano 2014-04-14 18:20
Autor Wiadomość
stryku
Temat założony przez niniejszego użytkownika
Szablony klasy i funkcji. Błędy zwracania zmiennej
» 2014-04-14 15:11:46
Cześć. Mam taką oto klasę:
C/C++
template < class T >
class lista
{
    /*..*/
   
public:
   
    T pop_back()
    {
        T ret;
        if( costam )
        {
            /*..*/
            return ret;
        }
        return ret; // tu nie wiem jak zrobić, żeby pasowało do wszystkich tworzonych szablonów w programie.
    }
   
   
};

i problem taki jak napisałem w komentarzu. W VS przechodzi bez tego zwracania, ale jak wysyłam na stronkę inną to tam kompilator krzyczy, że muszę zwracać zawsze, a jak zwracam tak to, że zwracam nie użytą zmienną;
P-108150
pekfos
» 2014-04-14 15:27:08
Musisz zwracać zawsze, niezależnie od tego, czy kompilator to przepuści, czy nie.
P-108152
DejaVu
» 2014-04-14 16:00:42
Nawet gdyby to była zwykła funkcja to ostrzeżenie lub błąd otrzymałbyś w sytuacjach, które opisałeś.
P-108156
stryku
Temat założony przez niniejszego użytkownika
» 2014-04-14 16:23:10
Wiem, że muszę zwracać. Dlatego piszę tutaj bo nie wiem jak zwrócić coś "uniwersalnego" co będzie pasowało do wszystkich szablonów. Do double, inta, boola itp. Co zwrócić?
P-108161
DejaVu
» 2014-04-14 16:54:58
Jak już to ewentualnie:
C/C++
T pop_back()
{
    if( empty() )
         return T();
   
    T ret;
    //...
    return ret;
}

PS. Wklej błędy kompilacji bo temat powinien zawierać błąd kompilacji, a nie słowno muzyczny opis problemu (w dodatku niezbyt precyzyjny).
P-108162
Monika90
» 2014-04-14 18:20:02
Nie musisz nic zwracać, możesz rzucić wyjątek.
P-108172
« 1 »
  Strona 1 z 1