私は次の行を持っています(問題を最小限に示すために縮小されています):
char version_text[64U] = {'\0'};
この行は、次のMISRAエラーを生成します。
Error[Pm023]: missing elements - braces shall be used to indicate and match the structure in the non-zero initialization of arrays and structures (MISRA C 2004 rule 9.2).
なぜこれがエラーなのですか?
私の現在の回避策は次のとおりです。
char version_text[64U] = {0};
これは、型が私のコンパイラ(IAR EW)によってchar
実装されていることを示しています。signed char
私の理解では、「\ 0」は文字リテラルであるため、タイプと一致する必要がありchar
ます。