Olá pessoal,
tenho o seguinte código que é semelhante ao do vídeo porem não funciona ... :
#include <stdio.h>
#include <stdlib.h>
char** mapa;
int linhas;
int colunas;
int main(){
FILE* f;
f = fopen("FogeFoge.txt", "r");
if (f == 0){
printf("Erro na abertura do mapa ...");
exit(1);
}
fscanf(f, "%d %d", &linhas, &colunas);
printf("linhas %d e colunas %d\n", linhas, colunas);
mapa = malloc(sizeof(char*) * linhas);
for(int i = 0; i < linhas; i++) {
mapa[i] = malloc(sizeof(char) * (colunas + 1));
}
for (int i = 0; i <= 4; i++){
printf("%s\n", mapa[i]);
}
fclose(f);
for (int i = 0; i < linhas; i++){
free(mapa[i]);
}
free(mapa);
}
porem eu tento compilar e tenho o seguinte erro:
linha 21, coluna 38 [Error] invalid conversion from 'void*' to 'char**' [-fpermissive]
mapa = malloc(sizeof(char*) * linhas);
linha 24, coluna 50 [Error] invalid conversion from 'void*' to 'char*' [-fpermissive]
mapa[i] = malloc(sizeof(char) * (colunas + 1));
E já aproveitando gostaria de saber o porque que o char dentro do for não possui * , ou seja, char* .
Obrigado a todos,
desde já agradeço.