[previous] 0544 [next] [U] The value of an incomplete 'union' may not be used.
Explicitly undefined REFERENCE - ISO:C90-6.2.2.1 lvalues

An attempt has been made to use the value of a union of incomplete type. This is not allowed and the result will be undefined.

It is sometimes useful to define a pointer to an incomplete union type. But any attempt to dereference such a pointer will generate message 0544.

For example:


/*PRQA S 506,2017,3408,3447,3617 ++*/

extern union UN *pun1;          /* Message 3313 */
extern union UN *pun2;

extern void foo(void)
{
    *pun1 = *pun2;              /* Message 0544 */

    pun1 = pun2;                /* OK           */
}

See also:

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents