Bonjour

voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
int parseArgs(const char* arg_list[], int arg_nb){
...
// => la fonction ne change pas le contenu des cahines pointées par arg_list
 
}
 
 
int main(void){
 
	char* arg_list[4]; // tableau de pointeur de string
 
	strcpy(arg_list[0], "toto");
	strcpy(arg_list[1], "tutu");
	strcpy(arg_list[2], "titi");
	strcpy(arg_list[3], "tata");
 
	parseArgs(arg_list, 4);
}
Dans la déclaration de ma fonction, le mot "const" dans "const char* arg_list[]" veut bien dire "la valeur pointée par le pointeur qui est dans le tableau arg_list[] ne peut être modifiée à l’intérieur de la fonction" ?

Si c'est le cas, alors pourquoi le compilo me renvoi comme erreur (sur l'appel de la fonction) :
note: expected 'const char **' but argument is of type 'char **'

Remarque : le code suivant ne génère pas de warning :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
void fooConst(const char *str){
...
}
 
int main(void){
	char *myStr = "hello world";
 
	fooConst(myStr); // pas de warning
}