armcc에서 union 선언 시 초기화하기

rain의 이미지
[Source] 
     1
      2 typedef struct {
      3     int type;
      4
      5     union _u {
      6         int i;
      7         char c;
      8     } u;
      9 } Param;
     10
     11
     12 int
     13 main() {
     14     int integer = 4;
     15     char character = 'c';
     16
     17     Param param = { 3, character };
     18
     19     return 0;
     20 }

[Compile]
$ armcc Init.c
"Init.c", line 17: Serious error: C2432E: non-constant initialiser
"Init.c", line 20: Warning: C2870W: variable 'param' declared but not used
"Init.c", line 20: Warning: C2870W: variable 'integer' declared but not used

Init.c: 2 warnings, 0 errors, 1 serious error

어떻게 해야 17 line의 error를 처리하고 초기화 할 수 있을 련지..ㅡㅡa
gcc에서는 되는데.....
이유나 해결 방법 좀 조언 부탁드려욤.

ssehoony의 이미지

에러 문구를 보니 armcc 는 non-constant init. 는 안되나 보네요.
그럼 그냥
Param param;
param.type = 3;
parma.u.c = character;
이런식으로 하세요.