J ai un ti soucis au niveau de la compilation de mon programme :
voici la partie qui fait erreur :
Code :
while(1) {
int buf_size = 0;
int nb_read = 0;
float* volume;
unsignedchar from_board[6];
unsignedchar from_board2[4];
unsignedchar to_board[32];
float z_be;
float z_le;
unsignedchar* pz_be;
unsignedchar* pz_le;
unsignedchar* answer_ptr = from_board;
float z_noise;
pz_be = (unsignedchar *)&z_be;
pz_le = (unsignedchar *)&z_le;
while ((nb_read = read(answer_ptr, 6 - buf_size)) > 0){
buf_size += nb_read;
answer_ptr += nb_read;
printf("POUET %d\n", nb_read);
if(buf_size >= 6)
break;
}
if(buf_size != 6)
continue;
Apres compilation les erreus sont les suivantes :
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(98) : warning C4013: 'lis_parametres_flotteur' undefined; assuming extern returning int
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(135) : warning C4047: 'function' : 'int ' differs in levels of indirection from 'unsigned char *'
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(135) : warning C4024: 'read' : different types for formal and actual parameter 1
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(135) : warning C4022: 'read' : pointer mismatch for actual parameter 2
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(135) : error C2198: 'read' : too few actual parameters
Error executing cl.exe.
Je trouve pourtant que ma syntaxe n a pas d erreur... Il me semble hein ^^
Le problemes etant que je n est trouves aucune infornation a se sujet (bien sure cette partie en commentaire tous fonctionne),
Si quelqun peut m eclairer merci beaucoup!
Bien au contraire les messages d erreur je les regarde! mais je sais pas ce que sa veut dire surtout celui la.
c:\documents and settings\nicolas\desktop\simulator_profile_tvarminne\simu_finlande.c(135) : error C2198: 'read' : too few actual parameters
Error executing cl.exe.
Oki. C est le prototype de la fonction qui n est pas bon?
je ne vois pas comment y palier.
Il faut qu'il y ait cohérence entre l'appel et le prototype. C'est ton code...
Si il s'agit de l'appel de read() qui est une fonction système, le prototype est bon (si tu as bien inclus le header qui va bien). C'est à toi de modifier l'appel pour qu'il soit cohérent.
Si il s'agit de cet appel (il est commenté)
Code :
read(answer_ptr, 6 - buf_size)
il y a effectivement un problème...
Code :
ssize_t read(int fd, void *buf, size_t count);
Message édité par Emmanuel Delahaye le 28-04-2006 à 09:35:49
oui le prototype est bon.pourtant je n arrive pas a voir l erreur, mon code me semble bon. l appel est bienune fonctionsysteme auquel j ai inclus les header qu il convient.
oui le prototype est bon.pourtant je n arrive pas a voir l erreur, mon code me semble bon. l appel est bienune fonctionsysteme auquel j ai inclus les header qu il convient.
Tu ne vois donc pas que la fonction read() attend 3 paramètres et que tu lui en passes que 2 ?
Message édité par Emmanuel Delahaye le 28-04-2006 à 10:36:17
en utilisant fread() j enleve la plus part des warnings mais toujours pas l erreur.
Il ne faut pas utiliser les fonctions au hasard...
C'est soit
open() read() close() (fonctions systèmes)
soit
fopen() fread() fclose() (fonctions standards du C)
Mais pas un mélange entre les deux. Encore une fois il faut être cohérent. Tu as appris le C comment ?
Message édité par Emmanuel Delahaye le 28-04-2006 à 10:38:48
Quelques notions a L IUT electronique! Mais la cela me bloque parcequ il me reste plus que cette erreur. J ai pas un gros niveau en C++je le sais, je suis capable de voir ce que fait tel ou tel fonction,ecrire du code mais sa vas pas plus loin....