Por que o resultado desse elenco não é um valor?
Eu preciso de alguns conselhos com esse comportamento estranho - vamos ter este código:
int ** p;
Isso compila sem nenhum problema:
p++;
Mas isso:
((int**)p)++;
Dá-me esta mensagem de erro:“error: lvalue required as increment operand”
.
Estou lançando parap
para o tipo que já é, nada muda, então qual é o problema? Esta é a versão simplificada do problema que encontrei, quando estava tentando compilar uma versão antiga dogdb
. Então, suponho que isso funcionou e algo mudou. Alguma idéia do que está errado com o segundo exemplo?