Bonjour,

J'ai un probleme bizarre en C avec un pointeur. Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
double* ConstruitParametres (int Dimension, int NbPoints, VecteurPtr Q[]) //Q contient NbPoints vecteurs de dimension Dimension
{
	int i;
	double t[NbPoints];
	double* p=t;
	t[0]=0;
	for (i=0; i<NbPoints-1; i++)
	{
		t[i+1]=t[i]+DistancePoints(Q[i+1],Q[i]);
	}
	return p;
}

CourbeBezierPtr ConstruitCourbe (int Dimension, int NbPoints, int Degre, VecteurPtr Points[])
{
	if (NbPoints==Degre+1)
	{
		CourbeBezierPtr C = CourbeBezierConstructeur(Dimension, Degre);
		MatricePtr M = MatriceConstructeur(Dimension,NbPoints);
		int i,j,k;
		for (i=0; i<Dimension; i++)
		{
			for (j=0; j<NbPoints; j++)
			{
				double* A = ConstruitParametres(Dimension, NbPoints, Points);
				M[i][j] = EvalueBernstein(C->Ordre, NbPoints, A[i]);
			}
		}
//Ainsi de suite...
Le compilateur s'acharne a me dire ca sur le A[ i ]:
subscripted value is neither array nor pointer
Pourtant, tout dans la methode precedente prouve le contraire! Je precise que le dernier parametre de EvalueBernstein doit etre un double.

Merci de votre aide!