Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Domanda sugli alberi

    Ciao a tutti,

    secondo voi e possibile creare un albero i cui nodi siano composti da

    1) un campo char[10] dove viene memorizzata una stringa, e su questo campo viene memorizzato un particolare comando. (per ordinare l albero si useranno queste stringhe)

    2) un campo puntatore a funzione associato a ciascuna stringa, cioe per ogni nodo contenente un comando si dovrebbe puntare alla funzione che descrive qual comando.

    Provo a schematizzare


    codice:
     
                                Nodo 1
                            Comando MMMM
               |----- Punta alla funz 1 (int,int)----
               |                                             |
              \./                                           \./
             Nodo 2                                     Nodo 2
      Comando AAAA                              Comando PPPP
    Punta alla funz 2(char,float)            Punta alla funz 2(char,char)
    Il problema che ogni nodo associato a ciascun comando dovrebbe puntare a funzioni che prendono come parametri tipi diversi per cui ho forti dubbi che questa struttura possa funzionare.....cosa ne pensate?

    Saluti!




  2. #2
    La struttura può andare sicuramente, tuttavia il problema dei puntatori "generali" è un po' più pesante...
    Non so se esiste il modo per crerare un puntatore a funzione senza sapere che parametri avrà la funzione da lui puntata(sinceramente credevo si potesse fare con "..." ma mi sbagliavo)
    Experience is what you get when you don’t get what you want

  3. #3
    Originariamente inviato da Xaratroom
    La struttura può andare sicuramente, tuttavia il problema dei puntatori "generali" è un po' più pesante...
    Non so se esiste il modo per crerare un puntatore a funzione senza sapere che parametri avrà la funzione da lui puntata(sinceramente credevo si potesse fare con "..." ma mi sbagliavo)
    Ciao Xaratroom,

    grazie per la rispo. Ho adottato la seguente soluzione come "tampone" (ma sicuramente ce ne sara una più ottimale) al problema:

    1) nei nodi rimangono i campi stringa (ovviamente)
    2) i puntatori a funzione sono tutti a funzioni del tipo void *PointerFuncN (void).

    Come vedi ho messo una N, ad ogni N corrispondera un numero diverso che stara appunto a significare una funzione diversa. Ognuna di queste funzioni chiamera poi la funzione associata al comando di quel nodo, schematizzando

    void *PointerFunc1 (void)
    {
    Comando1(char pippo, int pluto);
    }
    void *PointerFunc2 (void)
    {
    Comando2(float Paperino, float Topolino);
    }

    E una specie di scatola cinese....Chiaramente sono bene accette idee migliori!!

    Ciao e buona giornata!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.