[previous] 0426 [next] [C] Called function has incomplete return type.
Constraint violations REFERENCE - ISO:C90-6.3.2.2 Function calls

This is a constraint error

A function is being called which has previously been declared with a return type that is incomplete. A function cannot be defined with an incomplete return type but it can be declared with an incomplete return type - however unwise this may be. For example:


/*PRQA S 556,561,2213,2216,3227,3408,3447,3448,3617 ++*/

typedef struct S T1;

extern T1 s;
extern T1 foo1(int n);

void foo2(int n)
{
    s = foo1(n);                /* Message 0426                     */
}

struct S {int a; int b;};       /* struct S is now a complete type  */

void foo3(int n)
{
    s = foo1(n);                /* OK - return type is now complete */
}

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