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: 6379
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: 6379
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