Forum » Programiranje » C++ & goto funkcija
C++ & goto funkcija
djv ::
Zdravo!
Mene pa zanima naslednje. Mam pač neko funkcijo za imenom npr... void Prva(int x)
Potem pa imam še drugo funkcijo nrp. void Druga()
Zdaj pa bi jaz rad iz druge funkcije z stavkom "goto" skočil v določeno vrstico prve funkcije (void Prva(int x)).
Mam pa kodo npr:
void Prva (int x)
{
bla.......
bla.......
oznaka: //oznaka za goto stavek...sem naj bi mi skočilo iz druge funkcije
}
void Druga()
{
bla.......
bla.......
goto oznaka; //TU JE PROBLEM...
}
Zdaj pa me zanima, kaj moreš napisat, da bom lahko ta "goto" stavek uporabil iz ene v drugo funkcijo..gre takšna sintaksa, ki sem jo jaz napisal, velja samo v isti funkciji, ne pa tudi v drugi!!
HELP!
Mene pa zanima naslednje. Mam pač neko funkcijo za imenom npr... void Prva(int x)
Potem pa imam še drugo funkcijo nrp. void Druga()
Zdaj pa bi jaz rad iz druge funkcije z stavkom "goto" skočil v določeno vrstico prve funkcije (void Prva(int x)).
Mam pa kodo npr:
void Prva (int x)
{
bla.......
bla.......
oznaka: //oznaka za goto stavek...sem naj bi mi skočilo iz druge funkcije
}
void Druga()
{
bla.......
bla.......
goto oznaka; //TU JE PROBLEM...
}
Zdaj pa me zanima, kaj moreš napisat, da bom lahko ta "goto" stavek uporabil iz ene v drugo funkcijo..gre takšna sintaksa, ki sem jo jaz napisal, velja samo v isti funkciji, ne pa tudi v drugi!!
HELP!
- spremenilo: djv ()
DeViCeD ::
Pomoje to kr ne mores delat. Mogoce (nisem probal, ali pa je neumno ...)
void prva(int i){
if (!i){
// delaj kar hoces */
}
else { /* goto */
// delaj ...
}
}
druga {
//delaj nekaj
if (nekej) prva(1); /* goto */
}
Ce razumes kaj sem hotu napisat ... sam pomoje je to neumnost ... sploh goto v c-ju (ali c++) je neumnost ...
Lp,
Dejan
void prva(int i){
if (!i){
// delaj kar hoces */
}
else { /* goto */
// delaj ...
}
}
druga {
//delaj nekaj
if (nekej) prva(1); /* goto */
}
Ce razumes kaj sem hotu napisat ... sam pomoje je to neumnost ... sploh goto v c-ju (ali c++) je neumnost ...
Lp,
Dejan
So, if I press C, E and G I play C?
djv ::
Vem, da "goto" v c++ ni dobro uporabljat....ampak jaz ne vidim druge rešitve kot "goto".
Torej, če kdo ve, kako uporabit goto v dveh različnih funkcijah....please help me...
Torej, če kdo ve, kako uporabit goto v dveh različnih funkcijah....please help me...
wintermute ::
To kar hoces je nemogoce. Z goto se ne de skakati iz ene funkcije v drugo (vsaj v C/C++ ne).
Temu se rece napaka v nacrtovanju... Pac, vso stvar si ze od zacetka narobe zastavil. Svetujem ti, da vse skupaj se enkrat premislis. Ce bi problem konkretiziral, bi ti pri tem lazje pomagali.
Ena moznost je, da funkcijo "Prva" razdelis na dve funkciji. V smislu:
void Prva (int x)
{
bla.......
bla.......
Tretja();
}
void Druga()
{
bla.......
bla.......
Tretja();
}
Temu se rece napaka v nacrtovanju... Pac, vso stvar si ze od zacetka narobe zastavil. Svetujem ti, da vse skupaj se enkrat premislis. Ce bi problem konkretiziral, bi ti pri tem lazje pomagali.
Ena moznost je, da funkcijo "Prva" razdelis na dve funkciji. V smislu:
void Prva (int x)
{
bla.......
bla.......
Tretja();
}
void Druga()
{
bla.......
bla.......
Tretja();
}
djv ::
Hja...napaka v načrtovanju. Res je to...sicer pa sem zdaj uspel rešit ta prbelm, tako kot je napisano v zgornejm postu. Hja.....zgleda, da bom res moral ŠE bolj začet uporabljat papir in svinčnik....Sicer pa je faza načrtovanja tako ali tako najbolj tečna...a ne
NoUse4AName ::
nic se ne opravicuj za uporabo goto stavka, ker za nekatere stvari je sevedno uporaben in najboljsa resitev. Npr v DirectX SDKju uporabljajo tu pa tam goto stavke.
webblod ::
Tukaj bi bila še ena možnost... Funkciji, ki vsebuje LABEL (torej mesto, kamor naj skoči goto stavek), 'podturiš' še en vhodni parameter s privzeto vrednostjo npr 0, nato pa takoj na začetku preveriš ali je ta parameter nič ali ni in tako opredeliš mesto izvajanja funkcije... Nato pa iz druge funkcije pokličeš prvo, tako da temu dodatnemu parametru določiš vrednost različno od 0.
V bistvu ti torej funkcija deluje kot stikalo... Pa še GOTO stavku se izogneš...
LP & May the source be with you!
V bistvu ti torej funkcija deluje kot stikalo... Pa še GOTO stavku se izogneš...
LP & May the source be with you!
There must be a reason, why I'm so damn dissapointed on M$ Visual Basic
WEBblod.NET :: Slovenska programerska scena
WEBblod.NET :: Slovenska programerska scena
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Analiza kode: goto rabimo po pametiOddelek: Novice / Znanost in tehnologija | 13760 (10320) | one too many |
» | križci krožci c # (strani: 1 2 )Oddelek: Programiranje | 11788 (10447) | Yacked2 |
» | Apple popravil varnostno površnost v iOS, Mac OS X še nezakrpan (strani: 1 2 )Oddelek: Novice / Varnost | 25306 (19195) | BigWhale |
» | Vprašanji glede napak pri programiranuOddelek: Programiranje | 1820 (1252) | noraguta |
» | [c++] goto,jumpOddelek: Programiranje | 1637 (1420) | 64202 |