na hora de compilar a minha função criaImagem parecem erros de conversão inválida de 'void' para 'float'
jah li o outro tópico sobre essa função, mas não consigo resolver
grato
na hora de compilar a minha função criaImagem parecem erros de conversão inválida de 'void' para 'float'
jah li o outro tópico sobre essa função, mas não consigo resolver
grato
void* para float*, não é? (não existe o tipo void sem ser ponteiro)
Isso acontece no malloc? Se sim, continue lendo. Caso contrário, continue lendo (é interessante!).
Primeiramente, os ponteiros.
Independentemente do tipo, os ponteiros possuem o mesmo tipo de valor: endereços de memória.
Grosso modo, o tipo do ponteiro serve para você formatar o dado que está no endereço de memória. Por exemplo, um ponteiro para int, quando derreferenciado, nos trará um inteiro (ou uma cadeia de 4 ou 8 bytes).
A assinatura da função malloc é "void* malloc (size_t size)". Isso significa que o tipo de dado que é devolvido é um ponteiro void.
Uma prática razoável de programação é você garantir que suas variáveis do tipo ponteiro recebam endereços de memória do mesmo tipo.
Portanto, seria legal fazer o cast do seu endereço mallocado para o tipo correto de ponteiro.
Ex: int p = (int*)malloc(sizeof(int)*31415);
o problema era exatamente no malloc
muito obrigado William