Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 22-08-2007, 14.53.55   #1
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
[C] Errori di compilazione

Situazione 1:
...
BOOL LeggiDaFile(char *, request_msg); //dichiarazione prototipo
...
LeggiDaFile("input.txt", messaggio); // chiamata alla funzione
...
BOOL LeggiDaFile(char *input, request_msg messaggio) { //intestazione funzione
...
error C2081: 'request_msg' : name in formal parameter list illegal //riferito al prototipo
error C2115: 'function' : incompatible types // riferito alla chiamata alla funzione
warning C4024: 'LeggiDaFile' : different types for formal and actual parameter 2 // riferito alla chiamata alla funzione
warning C4028: formal parameter 2 different from declaration //riferito all'intestazione della funzione


Situazione 2:
...
BOOL LeggiDaFile(request_msg, char *); //dichiarazione prototipo
...
LeggiDaFile(messaggio, "input.txt") // chiamata alla funzione
...
BOOL LeggiDaFile(request_msg messaggio, char *input) { //intestazione funzione
...
error C2122: 'char *' : prototype parameter in name list illegal //riferito al prototipo

Le due situazioni differiscono solo nell'ordine in cui sono scritti i parametri, request_msg è un tipo di dato strutturato che ho definito io.
Perché solo cambiando l'ordine dei parametri ho errori in compilazione diversi? Come devo interpretare questi errori? Perché se passo solo char * o alternativamente request_msg viene compilato (anche se il prog non funziona perché ho bisogno di entrambi i dati per quella funzione), mentre se li passo entrambi no?
Alhazred non è collegato   Rispondi citando
Vecchio 22-08-2007, 16.40.28   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Perchè non stai attento.
Occhio quando passi strutture alle funzioni.

typedef struct MSKINPUT{
short int X;
short int Y;
short int Color;
short int Flags;
char ToExclude[MSKINPUT_MAXEXCLUDE];
const char *InputMask;
const char *FilledMask;
char *ReturnMask;
short int CharFunction;
}_MSKINPUT;

void MSKINPUT_InputMASK (_MSKINPUT * );

struct MSKINPUT input[2];
MSKINPUT_InputMASK(&input[c]);
LoryOne non è collegato   Rispondi citando
Vecchio 22-08-2007, 17.31.50   #3
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Non ho capito cosa vuoi dirmi.
Il tipo strutturato che ho io è fatto così:
Codice:
typedef struct {
  char mailslot_name[MAX_SEND_REC],
       da[MAX_SEND_REC],
       a[MAX_SEND_REC],
       oggetto[MAX_TEXT],
       testo[MAX_TEXT];
  int  service_code;
} message;

typedef struct {
  message req;
} request_msg;
Se serve, il codice completo è questo:
http://lacasa.altervista.org/software/Server.c
è necessario copiare il link ed incollarlo nella barra degli indirizzi del browser.
Alhazred non è collegato   Rispondi citando
Vecchio 23-08-2007, 11.42.42   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Inviato da Alhazred
Non ho capito cosa vuoi dirmi.
Il tipo strutturato che ho io è fatto così:
Codice:
typedef struct {
  char mailslot_name[MAX_SEND_REC],
       da[MAX_SEND_REC],
       a[MAX_SEND_REC],
       oggetto[MAX_TEXT],
       testo[MAX_TEXT];
  int  service_code;
} message;

typedef struct {
  message req;
} request_msg;
Se serve, il codice completo è questo:
http://lacasa.altervista.org/software/Server.c
è necessario copiare il link ed incollarlo nella barra degli indirizzi del browser.
Well, puntate sul file e selezionate "Salva oggetto con nome" per il download del file (Impostazioni Internet permettendo).

Dunque:
Tutto Ok, mastro.
Devi fare attenzione ai tipi di struttura definiti dall' utente (Typedef).
Sposta i prototipi dopo la dischiarazione del tipo.
Ricompila. no problem (Y)

Nno ho visionato il codice, il compilatore compila senza problemi, quindi vai alla grande Ahl !!!
LoryOne non è collegato   Rispondi citando
Vecchio 23-08-2007, 17.12.51   #5
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Oh cavolo.. e chi ci aveva pensato a spostare i prototipi?!?!
Grazie.
Alhazred non è collegato   Rispondi citando
Vecchio 23-08-2007, 19.16.34   #6
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Figurati, solo esperienza.
Il primo post ti forniva già la soluzione
LoryOne non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Fine "qualità" dei CD-R Verbatim. Da evitare. Flying Luka Masterizzazione Giochi Games 10 15-06-2009 11.20.50
correzioni errori nella bitmap del volume takehiko Windows 7/Vista/XP/ 2003 1 27-09-2007 15.26.04
[Slack] Errore durante la compilazione wolverin Linux e altri Sistemi Operativi 2 02-04-2007 10.20.57
[XP] Strani errori di file system exion Windows 7/Vista/XP/ 2003 10 18-03-2006 17.22.06
fix gli errori dell' hd marc21782000 Software applicativo 4 10-10-2005 00.37.58

Orario GMT +2. Ora sono le: 11.56.34.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.