Après avoir compilé mon code C avec -Wall activé, les avertissements suivants figuraientdéclaration de retour avec plus d'un argument
left operand of comma operator has no effect
qui sont liés aux multiples arguments présentés dans mes return
déclarations. L'histoire est la suivante: Supposons que vous ayez un tas de tableaux 3D alloués dynamiquement (A, B et C) et que vous souhaitiez les manipuler. Les tableaux sont définis comme pointeur vers pointeur sur pointeur et alloués en utilisant malloc (la procédure standard). La manipulation d'entre eux se produira dans des fonctions distinctes. Pour une raison quelconque, je déclare la fonction en tant que pointeur triple et comme suit:
***func(double ***A, double ***B, double ***C)
{
do some work here on A, B and C
return(A, B, C);
}
Je sais que les réseaux passent dans la fonction référence pour l'essentiel il n'y a pas besoin de retourner quelque chose de cette fonction. Mais, pouvez-vous me dire pourquoi quelqu'un déclarerait une fonction de cette façon. Ce personnel me confond. Merci à l'avance
Pourquoi ne pas retourner tableau – Sunny
'*** func (...' est pas valide C. Au moins, s'il n'y a pas de magie pré-processeur continué avant la compilation ... – alk
@sergej Oui. Merci – dimpep