Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-09-2011, 18:52   #1
cifa
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
cifa è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2011, 19:05   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da cifa Guarda i messaggi
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
Prova così

Codice:
int min1 = m1.mano[0].numero;
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2011, 19:08   #3
cifa
Member
 
Iscritto dal: Sep 2007
Messaggi: 59
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Prova così

Codice:
int min1 = m1.mano[0].numero;
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 19:12.
cifa è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2011, 19:18   #4
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da cifa Guarda i messaggi
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 ?
Esatto.

Più formalmente,
Codice:
pStruttura->elemento;
equivale a
Codice:
(*pStruttura).elemento;
Cioè, prima dereferenzia il puntatore e poi legge il campo richiesto.

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;
puoi solo accedere all'elemento di str con l'operatore punto.
Codice:
str.elemento;
AngeL) è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
GeForce NOW, tra pochi giorni arriva l'a...
Gli USA e la NASA non vogliono perdere l...
Il nuovo iPhone 17 Air ha già un clone A...
Una capsula SpaceX Dragon ha acceso i mo...
3 nuovissime offerte sottocosto pi&ugrav...
Robot aspirapolvere Roborock Q7 M5 a pre...
Offerte sui TV LG su Amazon: OLED evo e ...
Il Galaxy Z Fold 7 è un successo:...
Amazon abbatte i prezzi hardware: come p...
Eureka J15 Ultra imbarazza la concorrenz...
ChatGPT: il piano Free diventa più...
Il prossimo top di gamma di Vivo sarà il...
Sony mostra in anteprima la propria tecn...
Dreame A3 AWD: a IFA 2025 debutta il rob...
OpenAI, il chip proprietario per l'AI &e...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v