Show warnings for different variable types assignment

In c++ i can assign/compare a value from a variable type to another, even regardless of the byte size. Sometimes useful, sometimes a mess.

Obviously, casting is the solution. But nobody's perfect, so, i make mistakes.

Wrong code, deserves warnings:

int una =3;
float dues;
adeu = hola;
int tres = 4;
long int quatre = tres;

I wanna know whether is there a way to see compiler warnings regarding of this:

Thank you.

int una =3;
float dues;
adeu = hola; // <----
int tres = 4;
long int quatre = tres;

Surely you get this:

Scratchpad:3:1: error: 'adeu' does not name a type

 adeu = hola;

 ^

exit status 1
'adeu' does not name a type
long int quatre = tres;

There's nothing wrong with this, so I would not expect an error or warning.

The implicit conversion rules are well-defined. Why would you expect a warning?