Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema di return arry
Forum - C/C++ - Problema di return arry

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 23:18
Lunedì, 24/06/2013
Questo topic è stato chiuso dal moderatore

Ho questa funzione:
Codice sorgente - presumibilmente C/C++

  1. void hash(){
  2.     int (*myfunction)(void);
  3.     ReadOtherComand();
  4.     myfunction = dlsym(handle,filebuffer[fb_index]);
  5.     fb_index = myfunction();
  6.     variable *(*VarReturn)(void);
  7.     ReadOtherComand();
  8.     VarReturn = dlsym(handle,"VarReturn");
  9.     Variables = VarReturn();
  10. }


GCC , mi dà il seguente errore:
9:error: incompatible types in assignment
Non capisco perchè non va :_doubt: !

Ultima modifica effettuata da Umberto il 25/06/2013 alle 12:53
PM
Avatar
pincopallo (Normal User)
Rookie


Messaggi: 27
Iscritto: 22/06/2013

Segnala al moderatore
Postato alle 3:54
Martedì, 25/06/2013
Magari se ci fai capire cosa sono dlsym, fb_index etc.. sarebbe meglio...

PM
Avatar
quello che non so come si chiama (Normal User)
Rookie


Messaggi: 37
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 12:22
Martedì, 25/06/2013
Personalmente non ho il dono della chiaroveggenza e credo che neppure gli altri utenti lo abbiano

PM
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 12:50
Martedì, 25/06/2013
Scusate:

Codice sorgente - presumibilmente C++

  1. int fb_index = 0;
  2. char filebuffer[100000][1000];
  3. typedef struct Variable {
  4.    
  5.     char *name;
  6.     char *value;
  7. }variable;
  8. variable Variables[1000];


Per chiarezza , dlsym è una funzione del ansi C , contenuta nella libreria dlfnc.h

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 16:17
Martedì, 25/06/2013
Posta il codice completo. E a quale linea si sta riferendo l'errore?


Il mio blog: https://piero.dev
PM
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 18:57
Martedì, 25/06/2013
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.

PM
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 20:03
Martedì, 25/06/2013
Provero con memcpy , l' errore si riferisce alla riga 9.
Grazie mille.

PM
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 13:55
Mercoledì, 26/06/2013
Grazie mille , memcpy funziona.

PM
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 20:55
Venerdì, 28/06/2013
Scusate , ma mi accorgo ora che il programma mi da segmentation falout , non ho altre soluzioni all memcpy ?

PM
Pagine: [ 1 2 ] Precedente | Prossimo