no meu código, há uma linha char* chunktl[140];
que define chunktl como um array de caracteres, o código posterior preenche quais são esses valores, mas isso não é relevante, há outra linha int arrayloc = relx + 7 +(8-rely)*16;
que define arrayloc como um int, quais são as variáveis não importa, no entanto , o erro
error: passing argument 1 of ‘pixrender’ makes integer from pointer without a cast [-Wint-conversion]
206 | pixrender(chunktl[arrayloc]);
| ~~~~~~~^~~~~~~~~~
| |
| char *
terraria.c:81:22: note: expected ‘char’ but argument is of type ‘char *’
81 | char* pixrender(char a)
| ~~~~~^
ainda aparece e sugere que chunktl[arrayloc] é uma string?
Eu tentei transformar arrayloc em vários tipos (unsigned int, long, etc), o que não resolveu o problema
char* chunktl[140];
cria uma matriz de 140 ponteiros (char *
).chunktl[arrayloc]
retorna um desses ponteiros.Você passa um desses ponteiros para
pixrender
.pixrender
quer umchar
, não um ponteiro.Se você deseja uma matriz de 140
char
valores, você desejachar chunktl[140];
.