C Language Constraints Unary arithmetic operators


The unary + and - operators are only usable on arithmetic types, therefore if for example one tries to use them on a struct the program will produce a diagnostic eg:

struct foo
    bool bar;

void baz(void)
   struct foo testStruct;
   -testStruct; /* This breaks the constraint so must produce a diagnostic */