Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
24/06/13 21:18
Umberto
Ho questa funzione:
void hash(){
    int (*myfunction)(void);
    ReadOtherComand();
    myfunction = dlsym(handle,filebuffer[fb_index]);
    fb_index = myfunction();
    variable *(*VarReturn)(void);
    ReadOtherComand();
    VarReturn = dlsym(handle,"VarReturn");
    Variables = VarReturn();
}

GCC , mi dà il seguente errore:
9:error: incompatible types in assignment
Non capisco perchè non va :_doubt: !
Ultima modifica effettuata da Umberto 25/06/13 10:53
aaa
25/06/13 1:54
pincopallo
Magari se ci fai capire cosa sono dlsym, fb_index etc.. sarebbe meglio...
aaa
25/06/13 10:22
quello che non so come si chiama
Personalmente non ho il dono della chiaroveggenza e credo che neppure gli altri utenti lo abbiano
aaa
25/06/13 10:50
Umberto
Scusate:

int fb_index = 0;
char filebuffer[100000][1000];
typedef struct Variable {
    
    char *name;
    char *value;
}variable;
variable Variables[1000];

Per chiarezza , dlsym è una funzione del ansi C , contenuta nella libreria dlfnc.h
aaa
25/06/13 14:17
pierotofy
Posta il codice completo. E a quale linea si sta riferendo l'errore?
Il mio blog: piero.dev
25/06/13 16:57
ZioCrocifisso
Quella riga non ha senso, Variables è un array, è dunque un puntatore costante a dei dati, se cerchi di usare "=" significa che stai cercando di cambiare il puntatore all'array, cosa che non puoi fare. Se vuoi copiare i dati nell'array, usa memcpy, altrimenti se vuoi utilizzare gli stessi che ritorna la funzione, dichiara Variables come puntatore a variable.
aaa
25/06/13 18:03
Umberto
Provero con memcpy , l' errore si riferisce alla riga 9.
Grazie mille.
aaa
26/06/13 11:55
Umberto
Grazie mille , memcpy funziona.
aaa