Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    27

    [C] problema di puntatori ?

    Sto scrivendo una funzione alla quale devono essere passati come argomenti una struttura ed un intero e deve restituire una struttura

    l'intera struttura rappresenta un numero binario

    la funzione fa si che la struttura ritornata differisca dalla prima solo per un dato, un puntatore a char che contiene una stringa rappresentante un numero binario, il modulo della struttura per esser precisi

    l'effetto è quello di ridimensionare il modulo di un numero binario alla grandezza passata come argomento

    il compilatore dice
    no match for 'operator[]' in 'binary[initsize]'
    no match for 'operator[]' in 'binario[size]'

    codice:
    bin resize(bin binary,int size)
    {
    bin binario;
    int initsize;
    initsize=modsize(binary);
    binario.chk=binary.chk;
    binario.sys=binary.sys;
    binario.mod=(char*)calloc(size+1,sizeof(char));
    binario.mod[size]='\0';
    --size;
    for(--initsize;initsize>0 || initsize==0;initsize--)
       {
       binario.mod[size]=binary[initsize];
       --size;
       }
    for(size;size>0 || size==0;size--)
    binario[size]='0';
    return binario;
    }
    la modsize restituisce la lunghezza del modulo memorizzato nella struttura come puntatore a char

    dove ho sbagliato?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] problema di puntatori ?

    Non e' che questi in rosso

    codice:
    bin resize(bin binary,int size)
    {
    bin binario;
    int initsize;
    initsize=modsize(binary);
    binario.chk=binary.chk;
    binario.sys=binary.sys;
    binario.mod=(char*)calloc(size+1,sizeof(char));
    binario.mod[size]='\0';
    --size;
    for(--initsize;initsize>0 || initsize==0;initsize--)
       {
       binario.mod[size]=binary[initsize];
       --size;
       }
    for(size;size>0 || size==0;size--)
    binario[size]='0';
    return binario;
    }
    dovevano essere cosi' ?

    codice:
    bin resize(bin binary,int size)
    {
    bin binario;
    int initsize;
    initsize=modsize(binary);
    binario.chk=binary.chk;
    binario.sys=binary.sys;
    binario.mod=(char*)calloc(size+1,sizeof(char));
    binario.mod[size]='\0';
    --size;
    for(--initsize;initsize>0 || initsize==0;initsize--)
       {
       binario.mod[size]=binary.mod[initsize];
       --size;
       }
    for(size;size>0 || size==0;size--)
    binario.mod[size]='0';
    return binario;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    27
    ops sto proprio messo male

    tenchiù

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.