|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
[c++]errore.tipo nn definito
ciao. sono un newbie di c++, per questo ho scritto un programma stupidissimo, giusto per fare esercizio. Il codice è questo
Codice:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int* p_x = NULL;
typedef struct { char x; char y; char w; char z; } nome_tipo;
main()
{
int a = 5;
int b = 6;
int risultato;
p_x = &a;
cout << a << endl;
cout << b << endl;
cout << risultato << endl;
cout << p_x << endl;
struct { char papa; char mamma; char ivan; char giada; } Familiari;
Familiari me;
me = { "Aldo", "Rosa", "fratello", "sorella"};
cout << me.papa << me.mamma << me.ivan << me.giada << endl;
if(char me.papa == Aldo && char me.mamma == Rosa &&
char me.ivan == fratello && me.giada == sorella)
{
cout << "TUTTO SECONDO I CALCOLI" << endl;
}
else
{
cout << "QUALCOSA NON QUADRA" << endl;
}
return(0);
}
1)Perkè mi da errore nella riga "Familiari me;" dicendo ke familiari non è stato definito come tipo(eppure l'ho definito nella struttura). 2)Come far si ke il programma qando lo si esegue non si chiuda in un istante, ma resti aperto. gfrazie a tutti..sciaoooo
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
struct nomestruttura { ... } oggetti;
Quindi tu facendo: struct { char papa; char mamma; char ivan; char giada; } Familiari; non hai creato un nuovo tipo "Familiari" ma hai creato una nuova unica variabile di nome "Familiari" il cui tipo è una struttura "anonima" che hai dichiarato. Puoi fare: struct Familiari { char papa; char mamma; char ivan; char giada; }; però ogni volta dovrai sempre usare struct Familiari, es: struct Familiari fam1; struct Familiari fam2; oppure puoi fare (come in genere preferisco io typedef struct { char papa; char mamma; char ivan; char giada; } Familiari; in questo modo Familiari è un tipo, es: Familiari fam1; Familiari fam2; Quote:
cin.get();
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
Codice:
struct nomestruttura { ... } oggetti;
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
__________________
|
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
quello l'ho risolto.ora c'è un aòtro problema.
Codice:
typedef struct { char papa; char mamma; char ivan; char giada; } Familiari;
Familiari me;
me = { "Aldo", "Rosa", "fratello", "sorella"};
...mi da errore sulla riga di assegnazione valori alla variabile "me". come mai? thx
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quindi puoi fare: Codice:
typedef struct { char *papa; char *mamma; char *ivan; char *giada; } Familiari;
Familiari me = { "Aldo", "Rosa", "fratello", "sorella"};
Codice:
typedef struct { char papa[20]; char mamma[20]; char ivan[20]; char giada[20]; } Familiari;
Familiari me = { "Aldo", "Rosa", "fratello", "sorella"};
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Codice PHP:
Nel tuo esempio levi Famigliari e metti me Leggiti questo: http://programmazione.html.it/c/c_25.htm
__________________
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
typedef struct { char papa; char mamma; char ivan; char giada; } Familiari; è perfettamente lecita!! (a parte il fatto che, come ho già segnalato, SCYHO ha messo fin dall'inizio i campi come singoli caratteri) Questa è una struttura senza nome ("anonima" si potrebbe dire) a cui però, grazie al typedef, è stato dato il nome "Familiari". Se fosse stato scritto: typedef struct familiari { char papa; char mamma; char ivan; char giada; } Familiari; si potevano usare entrambi i modi: struct familiari fam1 = { ... }; Familiari fam2 = { ... };
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
Quote:
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
ho un dubbio riguardante la prima parte del codice
Codice:
//sezione dichiarazioni int* p_x = NULL; // int a = 5; p_x = &a; cout << p_x << endl; come mai p_x mi stampa 0x23ff74? e come faccio invece a stampare il contenuto di a tramite p_x? grazie ancora
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Ho visto or ora che si tratta di un typedef
__________________
|
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Se gli vuoi far stampare il contenuto della locazione di memoria a cui punta (quindi a) devi fare: Codice PHP:
__________________
|
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#14 | |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
Quote:
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
|
#15 | |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
Quote:
ora ho capito (a dirla tutta sono un pò confuso su tutto il C++) ...cmq grazie tante lo stesso.
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:11.



















