begin process at 2010 02 10 06:49:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Besoin d'aide pour résoudre une erreur C2664


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Besoin d'aide pour résoudre une erreur C2664

mercredi 21 mars 2007 à 23:42:27 | Besoin d'aide pour résoudre une erreur C2664

jalmjj

Bonjour, je suis nouveau ici et débutant en C++ (je suis étudiant en IUT Génie Electrique et Informatique Industrielle et nous n'avons appris que les bases du C). Je suis en train de faire un programme utilisant la liaison série pour recevoir des données et lorsque je compil, je me retrouve avec une erreur C2664 que je n'arrive pas résoudre, donc je solicite votre aide.
Voici le problème se trouve au niveau de ma fonction  de lecture du port (et la même au niveau de l'envoi sur le port) :

//   Fonction de lecture du port
BOOL Readport (void *buffer, int nbytestoread, int *nbytesread)
{
 return ReadFile (g_hcom, buffer, nbytestoread, *nbytesread, NULL);
}

//   Fonction d ecriture sur le port
BOOL Writeport (void *buffer, int nbytestowrite, int *nbyteswritten)
{
 return WriteFile (g_hcom, buffer, nbytestowrite, *nbyteswritten, NULL);
}

Et lorsque que je compil, j'ai le message suivant :
error C2664 : 'ReadFile' : cannot convert parameter 4 from 'int' to 'unsigned long*' , conversion from integral type to pointer types requires reinterpret_cast , c-style cast or function style-cast
La même erreur se produit pour le WriteFile.
J'ai essayé de mettre (unsigned long*) NULL ou de passer par un pointeur mais cela ne change rien???    Je ne sais pas si cela peut vous aidez mais je programme sous microsoft visual c++ 6.0.
Merci d'avance pour votre aide.

jeudi 22 mars 2007 à 00:08:37 | Re : Besoin d'aide pour résoudre une erreur C2664

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
WriteFile (g_hcom, buffer, nbytestowrite, (DWORD*) nbyteswritten, NULL);

ciao...
BruNews, MVP VC++
jeudi 22 mars 2007 à 16:17:49 | Re : Besoin d'aide pour résoudre une erreur C2664

yann_lo_san

Réponse acceptée !

Salut,
Ton erreur vient du fait que tu passes la 'valeur' de la variable pointé par nbytesread, il faut lever l'opérateur '*' pour passer le pointeur lui-même.
Et comme Brunews le montre, puisque il faut un unsigned long, le cast s'impose.

dimanche 25 mars 2007 à 21:21:24 | Re : Besoin d'aide pour résoudre une erreur C2664

jalmjj

Merci à BruNews et yann_lo_san pour vos réponses et vos explications. J'ai en effet remplacer cet erreur dans mon programme et cela fonctionne bien. Encore merci à vous deux.


Cette discussion est classée dans : buffer, aide, int, erreur, c2664


Répondre à ce message

Sujets en rapport avec ce message

Comment forcer le RTS pour une liaison RS232 [ par ancat ] Bonjourje viens de faire un petit prog (grandement inspire de sources du site) mais je ne saisis pas trop le controle du RTS.Celui ci est-il traite pa Erreur C4430 (besoin d'aide) [ par lui88 ] Bonjour , une erreur est apparu dans mon code error c4430:spécificateur de type manquant - int est pris en compte par défaut.remarque: C++ ne prend pa Erreur C2664 (besoin d'aide) [ par lui88 ] je suis sur vc 2005 , j'ai l'erreur C2664 qui s'affiche "impossible de convertir le paramètre 1 de "long*" en "const time_t".je n'arrive pas a le corr besoin d'aide c tres urgent [ par safiot80 ] les amis je viens juste de commencer la programmation sous c++ et je veux un peu d'aide svp j'ai une urgence un exo dont j'ai rien compris si qlq peu besoin d'aide pour mon petit prog [ par fairmond88 ] bjr j'ai besoin d'une aide pour ce prog; le but est de faire la somme des elements du tableau t à 2 dimenssions en utilisant le formalisme pointeur; q Aide sur les classes [ par mouadsa ] Bonsoir, J'ai un programmes en c++ où je dois créer une classe compte et puis créer n comptes (tableau dynamique), les afficher tous et saisir leurs p aide sur les sockets en c [ par minuh ] salut à vous je tente d'écrire une application sur les sockets en c j'ai lu dans un tutoriel qu'il fallait utiliser la fonction WSAStartup() quand je Erreur dans l'appelle d'une fonction [ par cheval22222 ] Bonjour, je suis débutant en programmation et j'ai un problème avec mes petits programmes où je dois faire appel à une fonction quelquonque. Voici le Binaire Hexa :-S Un petit soutient svp [ par MrDimanche ] Bonjour, voila ce qui m'amène.Je dois lire un fichier de données binaire, et le convertir. Mais si j'ai une petite expérience en c, c'est la première analyseur lexical pascal [ par perrotta ] Bonjour, dsl pour ma langue je parle pas bien le français; je suis entrin de devlopper un analyseur lexical pour un programme (pascal) prèci ,et j'ai


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales