Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
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


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Il telescopio spaziale James Webb ha cat...
Amazon scatenata nel weekend: sconti sug...
Pulizia per 45 giorni senza pensieri: il...
Apple taglia il prezzo degli AirPods Pro...
Tutti i MacBook Air M4 2025 da 13 pollic...
Roborock QV 35A a 429€ o Dreame L40 Ultr...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
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: 16:16.


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