
 Envoyé par 
tomasi
					
				 
				bonjour,
j'ai le code suivant :
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | #include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define N 20
 
int main(){
  char* tab[N];
  char chaine[30]="abc";
 
  tab[0] = malloc(strlen(chaine) + 1);
  strcpy(tab[0], chaine);
 
  printf("%s", tab[0]);
 
  system("pause");
 
  return EXIT_SUCCESS;
} | 
 à la compilation, il me renvoie 
invalid conversion from `void*' to `char*' 
pour la ligne 
tab[0] = malloc(strlen(chaine) + 1);
pourtant tab est un tableau de pointeurs vers des chaines de caractères...
j'avoue ne pas comprendre
 
	 
 
puisque tu programme en C++ (tu a un comppilateur C++) alors:
tu doit convertir le pointeur retourner par malloc au type de 'tab',c-a-d char* (faire un cast)
donc changer la ligne:
	
	tab[0] = malloc(strlen(chaine) + 1);
 par:
	
	tab[0] = (char*) malloc(strlen(chaine) + 1);
 
						
					
Partager