la valeur en indice n’est ni un tableau ni un pointeur

Je suis en train d’écrire un programme C dans lequel j’utilise un tableau de pipe pour IPC.

voici le code où j’obtiens une erreur:

int p[100][2]; //in for loop pipe(p[i-1]); //in child process close(p[i-1][0]); write(p[i-1][1], out, sizeof(NODE)); //in parent process close(p[j][1]); ead(p[j][0], tmp, sizeof(NODE)); 

Astuce Pro: lorsque vous résolvez des erreurs de génération dans C, ne sélectionnez aucune erreur aléatoire dans la liste et essayez de la corriger. Commencez par la toute première erreur générée car elle est probablement la cause principale de nombreuses autres.

Vous devez avoir une erreur de syntaxe ailleurs dans votre code qui rejette la déclaration de int p[100][2] pour que l’identifiant p ne soit pas analysé comme un tableau à deux dimensions de type int alloué sur la stack (ou statiquement allouée en tant que variable globale … vous n’avez pas indiqué où elle a été déclarée.). Comme l’identifiant n’est pas analysé correctement, il rejette également toute autre utilisation de p dans votre code.