extern void Trace_Communication(communicationBlock_t mdbMessage);
donne error: expected ‘)’ before ‘mdbMessage’
Je suis sûr que communicationBlock_t
est portée (et reliaze qu'il serait plus efficace pour passer un pointeur)
Si je copie la déclaration de communicationBlock_t
juste avant la ligne incriminée extern
, l'erreur est
error: conflicting types for ‘communicationBlock_t’
note: previous declaration of ‘communicationBlock_t’ was here
qui semble impliquer que la ligne incriminée a accès à la déclaration de communicationBlock_t
Je suppose que je donne sur quelque chose de trivial et évident, mais j'ai été le codage toute la nuit et ne peut plus penser droit ...
Qu'est-ce que je fais mal? Merci 1, 000.000
Mise à jour: je suppose que c'est un enchevêtrement de fichiers comprennent ...
typedef struct
{
communicationMessage_t message;
uint8_t length;
#ifdef TESTING
char commandName[32]; // for testing porpoises
DoRunTimeChecks runTimeCheckCallback;
#endif
} communicationBlock_t;
Assurez-vous que 'Trace_Communication' et' mdbMessage' ne sont pas '# define'd ou' typedef'd n'importe où. –
+1 Ils ne le sont pas, mais merci pour l'indice – Mawg
Est-ce que la "déclaration précédente de 'communicationBlock_t' était ici" pointant vers le bon endroit et est-ce la déclaration que vous attendez? Que se passe-t-il si vous remplacez 'communicationBlock_t' par' int' dans le prototype de 'Trace_Communication()'? –