|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 59
|
[C] invalid type argument of ‘->’
Salve a tutti,
sono un grande newbie per quel che riguarda C e vi volevo chiedere il perchè mi da il seguente errore: invalid type argument of ‘->’ (have ‘Hand’) quando faccio qualcosa del tipo: int min1=m1->mano[0]->numero; Dove si ha: Codice:
enum seme{
Cuori,
Quadri,
Fiori,
Picche
};
typedef enum seme Seme;
struct card{
int numero; // 1-13
Seme seme;
};
typedef struct card Card;
struct mano{
Card mano[5];
};
typedef struct mano Hand;
Son sicuro che è prorpio una mia mancanza a livello teorico, grazie a tutti per le eventuali risposte |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Quote:
Codice:
int min1 = m1.mano[0].numero; |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 59
|
Così sembra andare, qual'è la differenza fra l'operatore '->' e l'operatore '.' ? Cioè perchè in questo caso -> non va, mentre . sì ?
Grazie anche per la risp di sopra Penso di averlo capito da me, in pratica se opero con puntatori a strutture uso ->, se opero direttamente su di una struttura devo usare '.', giusto ? Ultima modifica di cifa : 10-09-2011 alle 20:12. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
Più formalmente, Codice:
pStruttura->elemento; Codice:
(*pStruttura).elemento; Questo, ovviamente, se hai a che fare con un puntatore a struttura. Se hai già la struttura, tipo: Codice:
struct MiaStruttura {
int elemento;
//...
};
MiaStruttura str;
Codice:
str.elemento; |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:07.




















