c - Discarded 'const' qualifier at assignment -
i have following code -
int acb(const uint16 *msgptr) { uint16 *p = (msgptr + 1); printf("%d", *p); }
i following warning - discarded 'const' qualifier @ assignment line above printf. how resolve?
the argument acb
pointer constant uint16
, pointer you're creating not pointing constant. discards const
qualifier. either remove const
argument passed function or make p
point const uint16
.
why case? tell compiler guarantee won't change msgptr
points to, create pointer can modify msgptr
points *(p - 1) = ...;
Comments
Post a Comment