指す先の型が異なるポインタどうしを、キャストなしで代入すると出ます。
出るコード
int *p;
double d = 3.14;
p = &d; // int* に double* を代入
エラーメッセージ
warning: assignment to 'int *' from incompatible pointer type 'double *' [-Wincompatible-pointer-types]
直し方
ポインタの型を一致させます(double *p = &d;)。型を変えて解釈したい場合のみ明示的にキャストします。