Usar uma função dentro de outra

  • Autor Autor Meta
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
M

Meta

Alfa
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Se desborda la pila por 5380 veces la pila de llamada, a veces 5376, otras veces por 5375, nunca igual.

Como puedes ver, e() llama a a() sin terminar el proceso e(), se crea la recursividad y por eso nunca acaba hasta que se desborde.

Tengo una pregunta.

Como e() nunca acaba su función porque dentro llama a a(). ¿Hay alguna manera de que termine de forma limpia dicha función e()?

Mi idea es que si llamo a e() y dentro tengo a a(), nunca acabará el e(). Lo malo de la función, que debe terminar el proceso o función antes de empezar otra.

Si uso goto, no tendré problemas de memoria de pila. Lo malo que el goto, crea malas prácticas de programación, por eso mejor no usarlo.

Si domino esto, podré hacer bien programas de consolas como este que puedes ver en el vídeo, llamar ventanas desde otras ventanas sin tener problemas de pila.

Ahí está el dilema.

Código en C#:
Inserir CODE, HTML ou PHP:
using System;

namespace Pila_de_llamadas_Consola_01
{
    internal class Program
    {
        static void e()
        {
            a();
        }
        static void d()
        { // Aquí.
        }

        static void c()
        {
        }

        static void b()
        {
            c();
            d();
            e();
        }

        static void a()
        {
            b();
        }

        static void Main(string[] args)
        {
            a();
        }
    }
}
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
La llamada a a(); tiene que ser en otro hilo para que la funcion e siga su curso. En los programas de consola son un solo thread, en cambio las ventanas son hilos independientes y esta orientado a eventos.
 
Voltar
Topo