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]'
la modsize restituisce la lunghezza del modulo memorizzato nella struttura come puntatore a charcodice: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; }
dove ho sbagliato?

Rispondi quotando