Je possède ce code:Comment le prototype de cette fonction peut-il être compilable?
void PrintMainParameters(int n, char* array[])
{
int i = 0;
for(i = 0; i < n; i++)
{
printf("%s \n", array[i]);
}
}
int main(int argc, char* argv[])
{
PrintMainParameters(argc, argv);
}
fonctionne très bien. Maintenant, je veux écrire PrintMainParameters comme prototype pour déclarer la fonction plus tard dans le fichier source.
J'ai essayé celui-ci, mais il dit incompatibilité de type, que le deuxième paramètre est un type de pointeur incompatible. Je comprends l'erreur du compilateur, mais je ne sais pas pourquoi cela se produit.
void PrintMainParameters(int, char*);
int main(int argc, char* argv[])
{
PrintMainParameters(argc, argv);
}
void PrintMainParameters(int n, char* array[])
{
int i = 0;
for(i = 0; i < n; i++)
{
printf("%s \n", array[i]);
}
}
À quoi le prototype doit-il ressembler? Pourquoi mon code ne fonctionne pas?
+1 pour la dernière option, ce qui améliore grandement la lisibilité pour quiconque regarde seulement le prototype. –