Página 2 de 3 PrimeiroPrimeiro 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. fala ai, blz!?

    o q vc fez ta 99% certo! hehehehehehe... tira somente o '*' depois do nome da funcao: sua funcao simplesmente tah retornando void (eh o que a declaracao do ponteiro diz), nao ponteiro pra void (eh o que a declaracao da funcao diz... (nao tah dando warning nao??))

    sobre o problema, sinistro essas paradas q faz todo mundo puxar os cabelos com ponteiros em C: vc declarou o ponteiro mfs, mas o buffer de fato nao ta alocado (a area de memoria) - o q vc declarou eh uma area de memoria pra armazenar outro endereco de memoria. (:

    vc AINDA nao tem uma espaco na memoria pra 'jogar' o valor de (void *) AddCliente (linha abaixo ao main()) em mfs->funcAddCliente (MAS, tem uma variavel que FUTURAMENTE apontara prum lugar do tipo da struct).
    Código :
    vc tem:
    _____
    |     |
    |*mfs|  --->  xxxx
    |____|
     
    vc precisa
    _____            ___________
    |    |          |            |
    |*mfs|  --->  | tipo       |
    |____|       | de dado      |
                    | da struct     |
                     | declarada   |
                    |            |
                   |__________|
    (putz... como faco texto em texto ASCII com tamanho fixo?)

    depois de um malloc() ou de declarar 'fisicamente' o buffer (area de memoria e referenciar o ponteiro), vc pode atribuir.

    (entao, essas paradas sao meio chatinhas mesmo... se for pra conhecer e aprender como funcemina, vale apena aprender!! se for pra trabalho e tal, c++ sem duvida)

    /* no momento to sem acesso a uma maquina com compilador, mas deve ser +/- isso... */

    #include <stdio.h>
    #include <stdlib.h>

    struct myFuncStruct{
    int cod;
    char nome[30];
    void (*funcAddCliente)(int , char *);
    } *mfs, msfBuff;

    void AddCliente(int cod, char *nome){
    mfsBuff.cod = cod;
    strcpy(mfsBuff.nome, nome);
    }

    int main(){
    mfs = &msfBuff;
    mfs->funcAddCliente = (void *) AddCliente;
    mfs->funcAddCliente(5,"Oii");
    }

    blz?

  2. #7
    hez4el
    ótimo, digno de code contest...

    desse modo a alocação de mfs aponta para msfBuff e fica tudo certo.

    mas da muito trampo pra pouca coisa...



  3. NOOOOOOOOSSSAAA.......rodei o bagulho e quase gozei.....pqp....quando eu crescer quero ser como voces.....vlw....ajudar pra cac***

  4. fala ai hez4el
    eh... heheheheh (code contest eh muito bom)

    por isso q C eh fogo... eu o defino como: "o cumulo da simplicidade feito da forma mais complexa possivel imaginada"
    bem, depende da finalidade q o SDM quer: aprender/curiosidade ou usar a ideia efetivamente em um produto (que, na minha opniao, eh loucura se ele nao tiver fazendo algo BEM baixo nivel).



  5. Citação Postado originalmente por a2gs
    (que, na minha opniao, eh loucura se ele nao tiver fazendo algo BEM baixo nivel).
    num noto pelos palavrao q eu falo em baixo nivel.... :lol: :lol:

    eu soh num intendi essa ideia do "Code contest" ops:






Tópicos Similares

  1. Problema com Iptables em Cache Server
    Por no fórum Servidores de Rede
    Respostas: 0
    Último Post: 04-10-2003, 00:53
  2. Problemas com Impressora em Rede
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 23-07-2003, 08:36
  3. Problemas com FTP em nat . .
    Por rafaelpazcolles no fórum Servidores de Rede
    Respostas: 0
    Último Post: 16-04-2003, 15:07
  4. qmail com problema em /var/spool/mail
    Por no fórum Servidores de Rede
    Respostas: 0
    Último Post: 11-03-2003, 12:57
  5. Ingressar Lilux com samba em um dominio com Active Directory
    Por Danilo_Montagna no fórum Servidores de Rede
    Respostas: 3
    Último Post: 23-01-2003, 18:47

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L