Narrowing conversion could cause loss of data

You specified an assignment or a passing of parameters that would cause a narrowing conversion (that is, an assignment from a larger source type to a smaller destination type) on a numeric value. (Warning level 4)

When you expect this type of narrowing, you can avoid a NARROWING warning using casting:

d2var = (d)d8var

For integer variables, use the specific cast type. For example,

i2var = (short)%function()   ;function with a ^VAL return type