Aviso do compilador (nível 1) C4090
'operation': qualificadores 'modifier' diferentes
Uma variável usada em uma operação é definida com um modificador especificado que impede que ela seja modificada sem detecção pelo compilador. A expressão é compilada sem modificação.
Esse aviso pode ser causado quando um ponteiro para um item const
ou volatile
é atribuído a um ponteiro não declarado como apontando para const
ou volatile
.
Esse aviso é emitido para programas C. Em um programa C++, o compilador emite um erro: C2440.
O exemplo a seguir gera o aviso C4090:
// C4090.c
// compile with: /W1
int *volatile *p;
int *const *q;
int **r;
int main() {
p = q; // C4090
p = r;
q = p; // C4090
q = r;
r = p; // C4090
r = q; // C4090
}