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++ - errore puntatore char
Forum - C/C++ - errore puntatore char

Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 16:56
Venerdì, 30/01/2015
Codice sorgente - presumibilmente C/C++

  1. char area[MAXAREA];
  2. char * heap = NULL;
  3.    
  4.  
  5. heap = &area;


Per quale motivo mi da questo errore ?:-|

warning: assignment from incompatible pointer type

l'errore va via quando levo [MAXAREA].. il problema è che il mio puntatore deve puntare a un vettore di char non a un solo char..

Ultima modifica effettuata da perillitommaso il 30/01/2015 alle 16:59
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:07
Venerdì, 30/01/2015
Codice sorgente - presumibilmente C/C++

  1. char area[MAXAREA];
  2. char* heap = NULL;
  3. heap = &area[0];



Tu vuoi un puntatore al primo carattere dell'array.

PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 17:14
Venerdì, 30/01/2015
okok si, non avevo notato questo particolare, grazie :)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:41
Venerdì, 30/01/2015
Beh, non ti consiglierei di dire al tuo prof che è un "particolare" ... potrebbe avere il sospetto che questa parte dei puntatori tu non l'abbia proprio capita ...

Comunque, la prossima domanda potrebbe essere ... è lecito scrivere

heap = area;


?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 20:00
Venerdì, 30/01/2015
non è lecito scrivere heap = area; perchè le assegnazione si possono fare solo tra puntatori

PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 20:23
Venerdì, 30/01/2015
Certo che è lecito scrivere heap=area ! In realtà 'area' è un puntatore ad una zona di memoria che contiene MAXAREA caratteri.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:32
Venerdì, 30/01/2015
Testo quotato

Postato originariamente da perillitommaso:

non è lecito scrivere heap = area; perchè le assegnazione si possono fare solo tra puntatori  



Vedi che hai capito poco dei puntatori? Ti consiglio di ripassare l'argomento ...







Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote