Problème "expected primary-expression before '.' token"

Bonjour à tous,
Je suis sur un projet d'ouverture de serre tonneau automatique basée sur arduino depuis quelques temps.
Je suis en train d'écrire le programme, l'algorithme, pour gérer l'ouverture, malheureusement pour gérer ces vérins il me faut beaucoup de variables, j'ai donc décidé de les structurer par des "struct".
À un certain moment il me faut mapper une valeur de potar pour le replacer entre 0 et 10, j'ai décidé de juste faire une fonction "int" qui me renvoit la position :

struct Verin {const int Pot; const int PinOuvrir; const int PinFermer; const int LectureMin; const int LectureMax; const int PosMin; const int PosMax; int PosDemandee;};
struct Verin VerinGauche = {A1, 8, 9, 0, 1023, 0, 10, 0};

int VerinPos (struct Verin){
  int Temp = map(analogRead(Verin.Pot), Verin.LectureMin, Verin.LectureMax, Verin.PosMin, Verin.PosMax);
  return(Temp);
}

Voici le petit bout de code qui pose problème, j'ai une erreur "expected primary-expression before '.' token" sur la ligne du map.
En essayant de résoudre le problème j'ai encore réduit le code à :

struct Verin {const int Pot; const int PinOuvrir; const int PinFermer; const int LectureMin; const int LectureMax; const int PosMin; const int PosMax; int PosDemandee;};
struct Verin VerinGauche = {A1, 8, 9, 0, 1023, 0, 10, 0};

int VerinPos(struct Verin){
  int Temp = 1+1;
  int Pot = Verin.Pot;
  
  return(Temp);
}

L'erreur apparait toujours au niveau de la ligne "int Pot = Verin.Pot", si quelqu'un aurait une piste pour m'aider à résoudre le problème je suis preneur !!

Merci par avance,
Jules

struct est un mot-clé, pas un type. Quand tu déclares une fonction, tu définis les types de ses arguments.
Donc, il faut :

int VerinPos(Verin V){
  int Temp = 1+1;
  int Pot = V.Pot;
  return(Temp);
}

En gros, tu confonds le nom de la classe et le nom de l'objet instancié.

Bonjour à vous,
Merci pour vos réponses et désolé du temps de réponse (je n'ai pas eu de notification).

Ah d'accord, j'ai modifié mon programme.
Donc si j'ai bien compris, le mot-clé struct sert juste à définir l'objet, et ensuite il faut utiliser l'objet comme type de paramètre de fonction ?

Au besoin lis la doc de struct

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.