Je sollicite encore votre aide car il semble que ce n'est pas encore clair.
Je veux encoder dans un tableau tTab[][3] une série de jours/mois/années mais pas moyen de trouver ce qui ne va pas dans mon code.
Dans mon main:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include "stdafx.h"
#include "fonctions.h"
#define dMaxDate 5
int _tmain(int argc, _TCHAR* argv[])
{
int tDate[dMaxDate][3] = { 0 };
char tDateConvert[dMaxDate][16];
int dNbrLues = 0;
int (*pDate)[dMaxDate][3] = &tDate;
ecLectDates(pDate, dMaxDate, &dNbrLues);
return 0;
} |
fichier fonctions.h
void ecLectDates(int (*pDate)[][3], int dMaxDate, int *pNbrLues);
fichier fonctions.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include "stdafx.h"
#include "fonctions.h"
#define MSG_1 11
#define MSG_2 12
#define MSG_3 13
#define jour 0
#define mois 1
#define annee 2
void ecLectDates(int (*pDate)[][3], int dMaxDate, int *pNbrLues)
{
do
{
/* encodage jour */
affichageMessage(MSG_1);
//scanf("%d", &dValeur);
scanf("%d", (*pDate)[*pNbrLues][jour]);
/* encodage mois */
affichageMessage(MSG_2);
scanf("%d", (*pDate)[*pNbrLues][mois]);
/* encodage annee */
affichageMessage(MSG_3);
scanf("%d", (*pDate)[*pNbrLues][annee]);
(*pNbrLues)++;
} while (*pNbrLues < dMaxDate);
} |
Lorsque je compile ce code, le compliquer me dit:
Erreur 1 error C2664: 'void ecLectDates(int (*)[][3],int,int *)'*: impossible de convertir l'argument 1 de 'int [5][3]' en 'int (*)[][3]' \\vmware-host\shared folders\drive\langage procédurale\prj24_visual\prj24_visual\prj24_visual.cpp 20 1 PRj24_visual
J'avoue que je pensais avoir compris avec mon exemple et je ne vois pas trop la différence entre mon example et mon problème ici.
Merci d'avance pour votre aide.
Ersch
Partager