Reputation: 4288
I have got the following union:
typedef union
{
struct
{
uint8_t LSB;
uint8_t MSB;
};
int16_t complete;
}uint16ByteT;
Know I want to use my type and initialize the variable. After scanning SO ( I thought) I found the solution:
uint16ByteT myVariable = {0};
But my compiler gives me an Error message:
simple type required for "@"
Normally the xc8 compiler uses the "@" to bring a variable at a specific address.
Upvotes: 0
Views: 588
Reputation: 41036
To initialize an anonym struct
/union
you can use:
uint16ByteT myVariable = {{0}, .complete = 0};
or simply
uint16ByteT myVariable = {{0}};
Notice uint16ByteT
instead of uint16Byte
Also notice that you need to compile in C11 mode since anonym struct
s/union
s was introduced in this version.
Upvotes: 1