Forum huvudsida -> Programmering -> Instack + exception
Sidor: 1
Cirela | 21:31 - 7:e Augusti 2005 | Post #1 | |
Medlem Inlägg: 18 Skicka PM |
Hej Detta är en enkel int-stack. Jag vill använda exception. Utan exception funkar bra men när jag inforgar exception i mina två funktioner kommer följande: ....StringIndexOutOfRange...... undefined std.... ... ... ... Ser ni var felet ligger eller ska jag infoga en annan fil???hjälp mig Mvh lisa kOd: // #################################### H-FIL #ifndef MINSTACK_H #define MINSTACK_H #include <iostream.h> #include <stdexcept> using namespace std; class Minstack{ public: Minstack(int storlek=10); ~Minstack(){delete[]stacken;} void push(const int &obj)throw(length_error); int pop()throw(length_error); void print(); private: int *stacken; int strlk,top; Minstack(const Minstack *s){} const Minstack operator=(const Minstack &s){return *this;}; }; Minstack::Minstack(int s) :strlk(s) { top=-1; stacken = new int[strlk]; } void Minstack::push(const int &obj)throw(length_error){ if(top>=strlk-1) throw length_error("fel"); stacken[++top]=obj; } int Minstack::pop()throw(length_error){ if(top<=-1) throw length_error("Fel"); return stacken[top--]; } void Minstack::print(){ cout<<"Antal i stacken just nu: "<<(top+1)<<endl; for(int i=top;i>=0;i--) cout<<stacken[i]<<" "; } #endif // ############################# CPP-FIL ############################ #include <iostream.h> #include "minstack.h" void main(){ Minstack st(4); try{ st.push(8); st.push(6); st.push(4); st.push(2); } catch(length_error l){ cout<<l.what(); } st.print(); try{ st.pop(); st.pop(); } catch(length_error l){ cout<<l.what(); } st.print(); cin.get(); cin.get(); } ------------------------- Ingen signatur! Senast redigerad 21:33 - 7:e Augusti 2005 |
Independence | 22:36 - 7:e Augusti 2005 | Post #2 | |
Administratör Inlägg: 1800 Skicka PM |
Jag ändrade iostream.h till bara iostreom och satte returtypen i main-funktionen till int istället för void för att få programmet att gå igenom kompileringen men efter det var det inga problem. Jag fick inget error om StringIndexOutOfRange eller liknande. Använder Gcc 3.4.3 på Linux. Vet inte riktigt vad som är fel dock. ------------------------- Vi är riddarna som säger fiskbulle! |
Cirela | 23:12 - 12:a Augusti 2005 | Post #3 | |
Medlem Inlägg: 18 Skicka PM |
Jag använder inte linux utan borland. Tack ------------------------- Ingen signatur! |
Celeron | 07:30 - 13:e Augusti 2005 | Post #4 | |
Medlem Inlägg: 418 Skicka PM |
Linux är ett operativsystem . Det här funkade i Dev-C++: minstack.h:
.cpp filen:
PS. Använd inte iostream.h eftersom det inte är standard. ------------------------- Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/ Senast redigerad 07:31 - 13:e Augusti 2005 |
Sidor: 1
Forum huvudsida -> Programmering -> Instack + exception
Du får inte posta i den här tråden | Till toppen
Datum
2025-01-02 16:23
Vecka: 01
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.