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?