1.2 armcc のエラーおよび警告メッセージのリスト

armcc によって生成されるエラーメッセージと警告メッセージのリスト。

ARM コンパイラ 5.02 以前では、C4XXX 形式のメッセージの ID は 3000 ~ 3499 の範囲でした。

ARM コンパイラは、UTF-8 対応ロケールでの診断メッセージの表示のみをサポートしています。
0 : 不明なエラー
1 : ファイルの最終行が復帰改行文字なしで終了しています
2 : ファイルの最終行がバックスラッシュで終了しています
3 : #インクルードファイル <entity> はそのファイル自体をインクルードします
4 : メモリが不足しています
5 : <entity> 入力ファイル <filename> を開けません:<reason>
以下に例を示します。
#include <file.h>
次のようなメッセージが表示されます。
Error: #5: cannot open source input file "file.h": No such file or directory
これは、file.h がシステムインクルードディレクトリに存在しないためです。
6 : コメントがファイルの最後で閉じられていません
コメントが /* で始まっていますが、コメントを閉じるための対応する */ がありません。
7 : 認識されないトークン
8 : 閉じ引用符がありません
以下に例を示します。
char foo[] = {"\"};
この例では、バックスラッシュによって、後ろの引用符 " が文字列を閉じる記号ではなく、リテラル文字として扱われています。これを修正するには、次のようにします。
char foo[] = {"\\"};
9 : コメントを入れ子にすることはできません
以下に例を示します。
/*nested /*comment*/
10 : ここでは "#" は期待されていません
11 : 認識されないプリプロセッシングディレクティブ
以下に例を示します。
#foo
12 : 前の構文エラーの後、解析はここから再開されます
13 : ファイル名が期待されます
以下に例を示します。
#include <>
14 : プリプロセッシングディレクティブの最後と期待される場所の後に余分なテキストがあります
以下に例を示します。
#if EMBEDDED foo
または
#include <stdio.h> foo
または
#ifdef SOMETHING
:
#endif SOMETHING
#endif は、引数を必要としません。行の末尾の部分を次のようにコメントとして囲めば、問題を解決できます。
#endif /* SOMETHING */
16 : <entity> は有効なソースファイル名ではありません
17 : ] が期待されます
18 : ) が期待されます
19 : 数字の最後と期待される場所の後に余分なテキストがあります
以下に例を示します。
int a = 37r;
20 : 識別子 <entity> が定義されていません
例えば、C++ でコンパイルする場合、以下のコード
void foo( arg ) { }
次のようなメッセージが表示されます。
Error: #20: identifier <arg> is undefined
次のコード例も、このエラーを発生させます。
int foo(void)
{
  int a = 4;
  a = i;
}
次のようなメッセージが表示されます。
Error: #20: identifier "i" is undefined
これは、i が宣言されていないためです。
21 : 型修飾子はこの宣言内では無効です
22 : 無効な 16 進数
23 : 整数定数が長すぎます
24 : 無効な 8 進数
以下に例を示します。
int a = 0378;
25 : 引用符で囲まれたストリング内には、少なくとも 1 つの文字が含まれている必要があります
以下に例を示します。
char a ='';
26 : 文字定数内に文字が多すぎます
例えば、次のコードは、マルチバイト文字を構成するバイト数が多すぎて int に収まらないため、この警告を生成します。
int a ='abcde';
27 : 文字の値が範囲外です
このエラーは、例えば次のように 16 進定数で表した文字値が、char 変数で表すには大きすぎる場合に発生します。
char x = '\x100';
28 : 式に定数値を含める必要があります
29 : 式が期待されます
30 : 浮動小数点定数が範囲外です
31 : 式は整数型である必要があります
32 : 式は算術型である必要があります
33 : 行番号が期待されます
34 : 無効な行番号
35 : #エラーディレクティブ:<entity>
36 : このディレクティブの #if がありません
37 : このディレクティブの #endif がありません
開かれた #if がまだアクティブになっていて、ファイルの末尾よりも前で #endif によって閉じられていません。
38 : ディレクティブは使用できません -- #else が既に表示されています
39 : ゼロによる除算
40 : 識別子が期待されます
このエラーは、プリプロセッサステートメントが正しい形式でない場合に発生します。例えば、#define プリプロセッサコマンドの直後に必要な識別子が指定されていない場合などです。
このエラーは、次のように、コードで識別子としてキーワードが使用された場合にも発生します。
int if =0;
41 : 式は算術型またはポインタ型である必要があります
42 : オペランドの型の間に互換性がありません(<type> と <type>)
44 : 式はポインタ型である必要があります
45 : #undef はこの定義済み名には使用できません
46 : <entity> は定義済みです。再定義は無視されます
47 : マクロ <entity> の再定義に互換性がありません
マクロが 2 回(異なる置換文字列で)定義されました。
以下に例を示します。
#define TEST 0 #define TEST 1
このようにすると、コンパイラによって以下のメッセージが生成されます。
警告:#47-D:マクロ "TEST" の再定義に互換性がありません(行 1 で宣言)
そのようにする必要がある場合は、2 回目の定義の前で #undef を使用してマクロの定義を解除して下さい。
マクロを定義するには、既存の定義がない限り、次のようなコンディショナルプリプロセッシングを使用できます。
#ifndef TEST #define TEST 0 #endif
armcc -c foo.c でコンパイルすると、TEST は 0 として定義されます(デフォルト)。
armcc -c -DTEST=1 foo.c でコンパイルすると、TEST は 1 として定義されます。
49 : マクロパラメータ名が重複しています
50 : "##" をマクロ定義の最初にすることはできません
51 : "##" をマクロ定義の最後にすることはできません
52 : マクロパラメータ名が期待されます
53 : : が期待されます
54 : マクロ呼び出し内の引数が少なすぎます
55 : マクロ呼び出し内の引数が多すぎます
56 : sizeof のオペランドに関数は使用できません
57 : この演算子は定数式では使用できません
58 : この演算子はプリプロセッシング式では使用できません
59 : 関数呼び出しは定数式では使用できません
60 : この演算子は整数的な定数式では使用できません
61 : 整数演算の結果が範囲外です
62 : シフト数が負です
63 : シフト数が大きすぎます
64 : 宣言で何も宣言されていません
以下に例を示します。
int; 
65 : ; が期待されます
66 : 列挙値が "int" の範囲外です
この診断メッセージは、enum 定数が signed int の範囲外である場合に、コンパイラによって生成されます。
例えば、以下のコードが C モードでコンパイルされると、コンパイラはこの警告を生成します:
typedef enum {   Bit31 = 0x80000000 } Bits;

この説明は、RVCT 2.2 以降のバージョンに適用されます。
C モード:
  • 警告が生成されますが、コンパイラによって定数が unsigned に昇格されます。
  • スイッチ --strict は、常にこのメッセージをエラーとして生成します。
C++ モード:
  • デフォルトでは、範囲外の定数は警告なしで unsigned に昇格されます。--strict が使用されている場合でも、同様です。
メッセージがエラーである場合の対応策として、以下のコード例を使用して下さい。
typedef enum {   Bit31 = (int)0x80000000 } Bits;
オーバーフローは発生しなくなり、エラーも報告されなくなります。

Bit31 は signed int になるので、その値は負になります。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
67 : } が期待されます
68 : 整数変換の結果、符号が変更されました
定数が signed long で表現するには大きすぎるので、unsigned 型にされました。
例:
long l = 2147483648;
69 : 整数変換の結果、切り捨てられました
70 : 不完全型は使用できません
例:
typedef struct {
  unsigned char size;
  char string[];
} FOO;
構造体の中の配列のサイズが宣言されていないので、コンパイラが構造体のサイズを割り当てることができません。不完全型は、--gnu および --c99 モードでは使用できます。
71 : sizeof のオペランドにビットフィールドは使用できません
76 : マクロの引数が空です
77 : この宣言には記憶クラスも型指定子もありません
78 : パラメータ宣言にイニシャライザを含めることはできません
79 : 型指定子が期待されます
可変個引数関数(例えば printf())を示す省略記号は、その前に少なくとも 1 つのパラメータが必要です。例えば、次のようなコードは、
int foo( ...);
次のように変更します。
int foo( int bar, ...);
80 : ここに記憶クラスを指定することはできません
81 : 記憶クラスを複数指定することはできません
82 : 記憶クラスが最初ではありません
83 : 型指定子が複数回指定されています
84 : 型指定子の組み合わせが無効です
型名または型指定子は、同一の宣言内で、2 番目の型名または型指定子として使うことはできません。以下に例を示します。
typedef int int;
85 : パラメータの記憶クラスが無効です
86 : 関数の記憶クラスが無効です
87 : ここで型指定子を使用することはできません
88 : 関数の配列は使用できません
89 : void 型の配列は使用できません
90 : 関数を返す関数は使用できません
91 : 配列を返す関数は使用できません
92 : 識別子リストパラメータは関数定義でのみ使用できます
93 : 関数型は typedef からは取得できません
94 : 配列のサイズはゼロより大きくする必要があります
次のようなサイズがゼロの配列は、--gnu モードだけで使用できます。
char name[0];
『armcc ユーザガイド』の以下のセクションを参照して下さい。
95 : 配列が大きすぎます
配列または構造体の最大サイズには、4GB の制限があります。
96 : 変換単位には、少なくとも 1 つの宣言が含まれている必要があります
97 : 関数はこの型の値を返すことはできません
98 : 配列にこの型のエレメントを含めることはできません
99 : ここの宣言はパラメータを宣言する必要があります
100 : パラメータ名が重複しています
101 : <entity> は現在の有効範囲で既に宣言されています
102 : 列挙型の forward 宣言は標準ではありません
103 : クラスが大きすぎます
104 : 構造体またはユニオンが大きすぎます
配列または構造体の最大サイズには、4GB の制限があります。
105 : ビットフィールドのサイズが無効です
ビットフィールドの大きさは、型のサイズ以下である必要があります。
例えば、--strict を使った、以下のような場合です。
struct X{
  int y:5000;
};
106 : ビットフィールドの型が無効です
ビットフィールドは整数型である必要があります。
例:
struct X{
  float x:5;
  float y:2;
};
107 : 長さがゼロのビットフィールドは無名でなければなりません
108 : 長さが 1 の符号付きビットフィールド
109 : 式は(ポインタ-)関数型である必要があります
110 : 定義またはタグ名が期待されます
111 : ステートメントに到達できません
112 : while が期待されます
114 : <entity> が参照されましたが定義されていません
115 : continue ステートメントはループ内でのみ使用できます
116 : break ステートメントはループまたはスイッチ内でのみ使用できます
例:
void foo(void){
  int a=0;
  continue;
}
または
void bar(void){
  int a=0;
  break;
}
117 : 非 void <entity> は値を返す必要があります
118 : void 関数は値を返すことができません
119 : <type> 型にキャストできません
120 : 戻り値型と関数型が一致していません
121 : case ラベルはスイッチ内でのみ使用できます
122 : default ラベルはスイッチ内でのみ使用できます
123 : case ラベルの値はこのスイッチ内に既にあります
124 : default ラベルはこのスイッチ内に既にあります
125 : ( が期待されます
126 : 式は左辺値でなければなりません
127 : ステートメントが期待されます
128 : ループには前のコードからは到達できません
129 : block-scope 関数には extern 記憶クラスのみを含めることができます
130 : { が期待されます
131 : 式はポインタ-クラス型である必要があります
132 : 式は構造体へのポインタまたはユニオンへのポインタである必要があります
133 : メンバ名が期待されます
134 : フィールド名が期待されます
135 : <entity> にメンバ <entity> がありません
136 : <entity> にフィールド <entity> がありません
137 : 式は修正可能な左辺値でなければなりません
138 : レジスタ変数のアドレスを取得することはできません
139 : ビットフィールドのアドレスを取得することはできません
140 : 関数呼び出し内の引数が多すぎます
関数宣言が前の関数プロトタイプのパラメータ数と一致しません。
例:
extern void foo(int x);
void bar(void)
{
  foo(1,2);
}
141 : ボディがある場合、無名のプロトタイプのパラメータは使用できません
142 : 式はポインタ-オブジェクト型である必要があります
143 : プログラムが大きすぎるか複雑すぎてコンパイルできません
144 : <type> 型の値を使用して <type> 型のエンティティを初期化することはできません
固定サイズの文字配列を初期化する文字列が、配列のサイズと正確に同じ長さであり、終端の \0 のための余裕がありません。例えば、次のような場合です。
char name[5] = "Hello";
name 配列は、最大 5 文字を保持できます。C の文字列は常に NULL で終わるため(例えば "Hello\0")、"Hello" は収まりません。コンパイラによって、以下のようなメッセージが報告されます。
Error: #144: a value of type "const char [6]" cannot be used to initialize an entity of type "char [5]"
ゼロ以外の int から pointer への暗黙的なキャストが行われる場合にも、同様のエラーが発生します。
以下に例を示します。
void foo_func( void )
{
  char *foo=1;
}
次のようなメッセージが表示されます。
#144: a value of type "int" cannot be used to initialize an entity of type "char *"
キャストに関しては、--loose_implicit_cast スイッチを使用して、このエラーを非表示にすることができます。
145 : <entity> は初期化できません
146 : イニシャライザの値が多すぎます
147 : 宣言は <entity> と互換性がありません
以下の不適切な C コードによってすべてのモードでエラーが発生します。発生したエラーは、--diag_warning 147 を使用してエラーから警告にダウングレードすることも、--diag_suppress 147 を使用して完全に非表示にすることもできます。
typedef enum { e } E; typedef enum { f } F; E g(void); F g(void);
148 : <entity> は既に初期化されています
149 : グローバルスコープ宣言にこの記憶クラスを含めることができません
150 : 型名はパラメータとして再宣言できません
151 : typedef 名はパラメータとして再宣言できません
152 : 非ゼロ整数をポインタに変換します
153 : 式はクラス型である必要があります
154 : 式は構造体型またはユニオン型である必要があります
155 : 古い形式の代入演算子
156 : 古い形式のイニシャライザ
157 : 式は整数的な定数式でなければなりません
158 : 式は左辺値または関数指定子でなければなりません
159 : 宣言は前の <entity> と互換性がありません
160 : <entity> の外部名と外部名競合が発生しました
161 : 認識されない #pragma
163 : テンポラリファイル <entity> を開けませんでした
164 : テンポラリファイルのディレクトリ名が長すぎます(<entity>)
165 : 関数呼び出しに引数が少なすぎます
関数プロトタイプで定義されているパラメータの数が、関数呼び出しで渡されたパラメータの数と一致しません。
以下に例を示します。
extern void foo(int x);
void bar(void)
{
  foo();
}
166 : 浮動小数点定数が無効です
167 : <type> 型の引数は <type> 型のパラメータと互換性がありません
168 : ここでは関数型を使用できません
169 : 宣言が期待されます
この問題は、いくつかの C++ ヘッダファイルを C++ コンパイラではなく C コンパイラでコンパイルしようとした場合に発生します。
170 : ポインタが、ベースとなっているオブジェクトの外側を指しています
171 : 型変換が無効です
172 : 外部/内部のリンケージが前の宣言と競合しています
リンケージの不一致に関するエラーは、関数が暗黙的に extern として宣言され、後で static として再宣言された場合、--strict オプションが使用されていなければ、非表示になります。以下に例を示します。
extern void foo(void);
static void foo(void){}
173 : 浮動小数点値が必要な整数型に収まりません
174 : 式は機能しません
175 : 添字が範囲外です
177 : <entity> が宣言されましたが参照されていません
デフォルトでは、使用されない宣言についての警告は、以下の場合に発生します。
  • 変数、typedef、および関数のローカルな(関数内の)宣言。
  • ラベル(常に関数内)。
  • 最上位のスタティック関数とスタティック変数。
--diag_suppress 177 オプションを指定すると、これらの警告が非表示になります。
178 : 配列に適用した "&" は機能しません
179 : "%" の右オペランドがゼロです
180 : 引数は仮パラメータと互換性がありません
181 : 引数は対応するフォーマットストリング変換と互換性がありません
例えば、--strict でコンパイルした場合、以下のコード
unsigned long foo = 0x1234;
printf("%08X", foo);
で生成される警告は、次のとおりです。
Warning: #181-D: argument is incompatible with corresponding format string conversion
警告が表示されないようにするには、コードを次のように書き換えます。
unsigned long foo = 0x1234;
printf("%0lX", foo);
また、代わりに次のように書き換えることもできます。
unsigned int foo = 0x1234;
printf("%0X", foo);
%0X は、charshort、または int で使用できます。ARM プロセッサでは intlong も 32 ビット幅ですが、long 整数には lX を使用して下さい。
182 : ソースファイル <entity> を開けませんでした(検索リストにディレクトリがありません)
183 : キャスト型は整数でなければなりません
184 : キャスト型は算術またはポインタでなければなりません
185 : ダイナミックな初期化が到達できないコード内にあります
186 : 符号なし整数とゼロの無効な比較
以下に例を示します。
unsigned short foo;
if (foo<0) printf("This never happens");
この場合、unsigned の(例えば charint の)値とゼロの比較は常に FALSE に評価されるという警告が発生します。
187 : == が必要な場所で "=" が使用されています
以下に例を示します。
int main(void)
{
  int a;
  const int b =1;
  if (a=b);
}
               
188 : 列挙型と別の型が混在しています
189 : <entity> ファイルの書き込み中にエラーが発生しました:
190 : 中間言語ファイルが無効です
191 : 型指定子はキャスト型では無効です
C の仕様では、キャストは左辺値を生成しないことになっているので、修飾された型へのキャストは修飾されていないバージョンの型へのキャストと同じ効果を持つことになります。この警告は、コードには問題がないものの、型修飾子が効果を持たないことをユーザに知らせるものです。この警告は、--diag_suppress 191 で非表示にすることができます。
以下に例を示します。
val2 = (const float)val1;
上記のコマンドは、以下のコマンドと同じ意味です。
val2 = (float)val1;
192 : 認識されない文字エスケープシーケンス
このエラーは、通常、16 ビットの Unicode 文字などの非 ASCII 文字セットを使おうとしたことに関連しています。コンパイラでは、Unicode などのマルチバイト文字セットがサポートされます。ソースファイルは、コンピュータで選択されているロケールに応じてコンパイルされます。そのようにせずに、エスケープ処理を使って、特定の値をエンコードすることもできます(Kernighan and Ritchie の A2.5.2 で推奨されています)。
以下に例を示します。
char *p = "\x12\x34\x56\x78"; // 12 34 56 78
文字エスケープと文字列エスケープでは、\ の次の文字に特別な意味がない場合、エスケープの値はその文字自身となります。例えば、\s は、s と同じなので、警告が生成されます。
193 : 未定義のプリプロセッシング識別子としてゼロが使用されています <entity>
194 : asm ストリングが期待されます
195 : asm 関数はプロトタイプにする必要があります
196 : asm 関数には省略記号を含めることができません
219 : ファイル <entity> の削除中にエラーが発生しました
220 : 整数値が必要な浮動小数点型に収まりません
221 : 浮動小数点値が必要な浮動小数点型に収まりません
222 : 浮動小数点演算の結果が範囲外です
223 : 関数 <entity> が暗黙に宣言されています
これは、関数のプロトタイプがないときに発生する、一般的な警告です。
以下に例を示します。
void foo(void) {   printf("foo"); }
この問題に対処するには、#include <stdio.h> を追加して、 printf() のプロトタイプを含めます。
ANSI C では、--diag_suppress 223 でこの警告を非表示にすることができます。古いスタイルの C を ANSI C モードでコンパイルするときには、この方法が便利です。
224 : フォーマットストリングには追加の引数が必要です
225 : フォーマットストリングがこの引数の前に終了しています
226 : フォーマットストリング変換が無効です
227 : マクロ再帰
228 : コンマが最後にくる形式は標準ではありません
229 : ビットフィールドに列挙型のすべての値を入れることはできません
230 : ビットフィールドでは非標準の型です
厳密な ANSI C90 では、ビットフィールドに指定できる型は intsigned int、および unsigned int のみです。
以下に例を示します。
struct X { char y:2; };
231 : 宣言は関数の外側では見えません
232 : void の古い形式の typedef は無視されます
233 : 左オペランドは、このフィールドを含む構造体またはユニオンではありません
234 : ポインタは、このフィールドを含む構造体またはユニオンを指していません
235 : 変数 <entity> は、未定義の型で宣言されていました
236 : 制御式が定数です
237 : セレクタ式が定数です
238 : パラメータの指定子が無効です
239 : クラス宣言外の指定子が無効です
240 : 宣言に重複した指定子があります
241 : ユニオンにはベースクラスが存在することはできません
242 : 複数のアクセス制御指定子は使用できません
243 : クラス定義または構造体定義がありません
244 : 修飾された名前は、クラス <type> またはそのベースクラスのメンバではありません
245 : 非スタティックメンバ参照は、特定のオブジェクトに関連付けられている必要があります
246 : 非スタティックデータメンバは、そのクラスの外では定義できません
247 : <entity> は既に定義されています
この問題の典型的な例は、変数名が複数回使用されている場合です。
この問題は、仮宣言に依存する従来のコードをコンパイルしている場合に発生することがあります。仮宣言では、以下のように、変数の宣言と初期化を個別のステートメントで行うことができます。
int a;
int a = 1;
仮宣言は、C コードではデフォルトで許可されていますが、C++ コードではエラーになります。
248 : 参照へのポインタは使用できません
249 : 参照を参照することはできません
250 : void を参照することはできません
251 : 参照の配列は使用できません
252 : 参照 <entity> にはイニシャライザが必要です
253 : , が期待されます
254 : 型名は使用できません
この問題は、次の例のように、typedef 名が式の中で直接使用されている場合に発生します。
typedef int footype; int x = footype; // reports Error:#254:型名は使用できません
この問題に対処するには、先にその型のインスタンスを作成します。例えば、次のように、その新しい型の変数を作成します。
typedef int footype; footype bar = 1; int x = bar;
255 : 型定義は使用できません
256 : 型名 <entity> の再宣言は無効です
257 : const <entity> にはイニシャライザが必要です
258 : "this" は、非スタティックメンバ関数内でのみ使用できます
259 : 定数値が不明です
260 : 明示的な型がありません("int" を想定)
261 : アクセス制御が指定されていません(デフォルトでは <entity>)
262 : クラス名または構造体名ではありません
263 : ベースクラス名が重複しています
264 : ベースクラスが無効です
265 : <entity> にアクセスできません
C++ では、--diag_warning 265 オプションによって、アクセス制御エラーを警告に降格することができます。
以下に例を示します。
class A { void f() {}; }; // private member
A a;
void g() { a.f(); } // erroneous access
次のようなメッセージが表示されます。
Error: #265-D: function "A::f" is inaccessible
266 : <entity> があいまいです
267 : 古いスタイルのパラメータリストです(アナクロニズム)
268 : 宣言は、ブロック内の実行可能ステートメントの後には表示できません
269 : アクセスできないベースクラス <type> に変換できません
274 : マクロ呼び出しが正しく終了しませんでした
276 : 後に "::" が付いている名前は、クラス名またはネームスペース名です
277 : friend 宣言が無効です
278 : コンストラクタまたはデストラクタが値を返すことはできません
279 : デストラクタ宣言が無効です
280 : クラスと同じ名前のメンバを宣言します
281 : グローバルスコープ修飾子("::" が先行)は使用できません
282 : グローバルスコープには <entity> が含まれていません
283 : 修飾された名前は使用できません
284 : NULL 参照は使用できません
285 : "<...>" による初期化は <type> 型のオブジェクトには使用できません
286 : ベースクラス <type> があいまいです
287 : 派生したクラス <type> にはクラス <type> の複数のインスタンスが含まれています
288 : ベースクラス <type> へのポインタを派生クラス <type> へのポインタに変換できません。ベースクラスは仮想です。
289 : 引数リストと一致するコンストラクタ <entity> のインスタンスはありません
290 : クラス <type> のコピーコンストラクタがあいまいです
291 : クラス <type> のデフォルトコンストラクタはありません
292 : <entity> は、クラス <type> の非スタティックデータメンバまたはベースクラスではありません
293 : 間接非仮想ベースクラスは使用できません
294 : ユニオンメンバが無効です -- クラス <type> には禁止されたメンバ関数が含まれています
296 : 左辺値でない配列は使用できません
297 : 演算子が期待されます
298 : 継承されたメンバは使用できません
299 : <entity> のどのインスタンスを対象にしているか特定できません
300 : bound 関数へのポインタは関数の呼び出しにのみ使用できます
301 : typedef 名は既に宣言されています(同じ型で)
302 : <entity> は既に定義されています
304 : 引数リストと一致する <entity> のインスタンスはありません
305 : 関数の戻り値型の宣言内では型を定義できません
306 : デフォルト引数がパラメータリストの最後にありません
307 : デフォルト引数の再定義です
308 : <entity> の複数のインスタンスが引数リストと一致しています
309 : コンストラクタ <entity> の複数のインスタンスが引数リストと一致しています
310 : デフォルト引数 <type> 型の引数は <type> 型のパラメータと互換性がありません
311 : 戻り値型のみで識別される関数はオーバーロードできません
312 : <type> から <type> への適切なユーザ定義変換がありません
313 : この関数には型指定子を使用できません
314 : 非スタティックメンバ関数のみを仮想にできます
315 : オブジェクトにはメンバ関数と互換性のない cv 修飾子が含まれています
316 : プログラムが大きすぎてコンパイルできません(仮想関数が多すぎます)
317 : 戻り値型が戻り値型 <type>(オーバーライドされた仮想関数 <entity> のもの)と同じでないか、共変ではありません
318 : 仮想 <entity> のオーバーライドがあいまいです
319 : 純指定子("= 0")は仮想関数でのみ使用できます
320 : 不適切な形式の純指定子です("= 0" のみを使用できます)
321 : データメンバイニシャライザは使用できません
322 : 抽象クラス型 <type> のオブジェクトは使用できません
323 : 抽象クラス <type> を返す関数は使用できません
324 : friend 宣言が重複しています
325 : インライン指定子は関数宣言でのみ使用できます
326 : "inline" は使用できません
327 : inline 関数の記憶クラスが無効です
328 : クラスメンバの記憶クラスが無効です
329 : ローカルクラスメンバ <entity> には定義が必要です
330 : <entity> にアクセスできません
332 : クラス <type> には const オブジェクトをコピーするためのコピーコンストラクタがありません
333 : 暗黙に宣言されたメンバ関数を定義することはできません
334 : クラス <type> には適切なコピーコンストラクタがありません
335 : リンケージを指定できません
336 : 外部リンケージ指定が不明です
337 : リンケージ指定は前の <entity> と互換性がありません
関数のリンケージが前の宣言への互換性のない指定と共に再宣言された場合に、このエラーは生成されます。
以下に例を示します。
int foo(void);
int bar(void)
{
  int x;
  x = foo();
  return x;
}
extern "C" int foo(void)
{
  return 0;
}
次のようなメッセージが表示されます。
Error: #337: linkage specification is incompatible with previous "foo" (declared at line 1)
338 : オーバーロードされた関数 <entity> の複数のインスタンスに "C" リンケージが含まれています
339 : クラス <type> には複数のデフォルトコンストラクタがあります
340 : 値がテンポラリにコピーされ、テンポラリへの参照が使用されています
341 : "operator<entity>" はメンバ関数でなければなりません
342 : 演算子としてスタティックメンバ関数を使用できません
343 : ユーザ定義変換には引数を指定できません
344 : この operator 関数のパラメータが多すぎます
345 : この operator 関数のパラメータが少なすぎます
346 : 非メンバ演算子にはクラス型のパラメータが必要です
347 : デフォルト引数は指定できません
348 : <type> から <type> への複数のユーザ定義変換が適用されます:
349 : 演算子 <entity> はこれらのオペランドと一致しません
350 : 複数の演算子 <entity> がこれらのオペランドと一致します:
351 : allocation 関数の最初のパラメータは "size_t" 型でなければなりません
352 : allocation 関数では "void *" の戻り値型が必要です
353 : deallocation 関数では "void" の戻り値型が必要です
354 : deallocation 関数の最初のパラメータは "void *" 型でなければなりません
356 : 型はオブジェクト型でなければなりません
357 : ベースクラス <type> は既に初期化されています
358 : ベースクラス名が必要です -- <type> を想定(アナクロニズム)
359 : <entity> は既に初期化されています
360 : メンバまたベースクラスの名前がありません
361 : this への代入です(アナクロニズム)
362 : "overload" キーワードが使用されています(アナクロニズム)
363 : 無名共用体が無効です -- パブリックでないメンバは使用できません
364 : 無名共用体が無効です -- メンバ関数は使用できません
365 : グローバルまたはネームスペーススコープにある無名共用体は、スタティックとして宣言される必要があります
366 : <entity> は次のイニシャライザを提供しません:
367 : クラス <type> の暗黙に生成されたコンストラクタは次のものを初期化できません:
368 : <entity> は、次のものを初期化するためのコンストラクタを定義していません:
これは、const 構造体、または const を含む構造体があることを示しています。このメッセージは、エラー 369 を補助する警告として生成されます。構造体の const メンバが適切に初期化されていれば、無視しても問題ありません。
369 : <entity> には、初期化されていない const または reference メンバが含まれています
これは、const 構造体、または正しく初期化されていない const を含む構造体のインスタンスがあることを示しています。各インスタンスで構造体を正しく初期化するか、初期化を行うコンストラクタを用意する必要があります。
370 : <entity> には、初期化されていない const フィールドが含まれています
371 : クラス <type> には、const オブジェクトをコピーするための代入演算子がありません
372 : クラス <type> には適切な代入演算子がありません
373 : クラス <type> の代入演算子があいまいです
375 : 宣言には typedef 名が必要です
377 : "virtual" は使用できません
378 : "static" は使用できません
379 : bound 関数の通常の関数ポインタへのキャストです(アナクロニズム)
380 : 式はポインタ-メンバ型である必要があります
381 : 余分な ";" は無視されます
C では、次の例のように、宣言の行の末尾に予期しないセミコロンがあることによって、この問題が発生する場合があります。
int x;;
この問題は、マクロを使用しているときに、不注意のために発生することもあります。
同様に、C++ では、この問題が次のような構造によって発生することがあります。
class X { ...} ; ;
これは、多くの場合、次のようなマクロの使用が原因です。
#define M(c) class c { ...} ; M(X);
空の宣言は不正であるため、余分なセミコロンは不正です。
382 : 非標準メンバ定数の宣言(標準形式はスタティック const 整数メンバ)
384 : 引数リストと一致する多重定義された <entity> のインスタンスはありません
386 : 必要な型と一致する <entity> のインスタンスはありません
387 : 配列サイズ削除式が使用されました(アナクロニズム)
389 : 抽象クラス <type> にキャストできません
390 : 関数 "main" を呼び出したり、この関数のアドレスを取得したりすることはできません
391 : 配列に対して new-initializer を指定できません
392 : メンバ関数 <entity> は、そのクラスの外では再宣言できません
393 : 不完全なクラス型へのポインタは使用できません
394 : 関数内部のローカル変数を参照できません
395 : 後置の <entity> に単一引数の関数が使用されています(アナクロニズム)
398 : 配列型へのキャストは標準ではありません(<type> へのキャストとして処理されます)
399 : <entity> には演算子 new<entity>() がありますが、デフォルト演算子 delete<entity>() はありません
400 : <entity> にはデフォルト演算子 delete<entity>() がありますが、演算子 new<entity>() はありません
401 : ベースクラス <entity> のデストラクタは仮想ではありません
403 : メンバ <entity> の再宣言は無効です
404 : 関数 "main" はインラインでは宣言できません
405 : クラスと同じ名前のメンバ関数はコンストラクタでなければなりません
406 : ネストされた <entity> を使用しています(アナクロニズム)
407 : デストラクタにパラメータを指定することはできません
408 : クラス <type> のコピーコンストラクタに <type> 型のパラメータを指定することはできません
409 : <entity> は不完全型 <type> を返します
410 : 保護された <entity> には、<type> ポインタまたはオブジェクトを介してアクセスできません
411 : パラメータは指定できません
412 : ここでは "asm" を宣言できません
413 : <type> から <type> への適切な conversion 関数がありません
414 : 不完全なクラスへのポインタを削除します
415 : <type> から <type> に変換するための適切なコンストラクタがありません
416 : <type> から <type> に変換するために複数のコンストラクタが適用されます:
417 : <type> から <type> への複数の conversion 関数が適用されます:
418 : <type> から組み込み型への複数の conversion 関数が適用されます:
424 : コンストラクタまたはデストラクタは自らのアドレスを取得できません
427 : 修飾された名前はメンバ宣言では使用できません
428 : 列挙型と別の型が混在しています(アナクロニズム)
429 : new 内の配列のサイズは負以外の値でなければなりません
430 : ローカルテンポラリへの参照を返します
433 : <type> 型の参照と <type> 型のイニシャライザのバインドで修飾子が削除されました
434 : <type> 型の参照(const で修飾されていない)は <type> 型の値で初期化できません
435 : 関数へのポインタは削除できません
436 : conversion 関数は非スタティックメンバ関数でなければなりません
437 : ここではテンプレートを宣言できません
438 : &lt; が期待されます
439 : &gt; が期待されます
440 : テンプレートパラメータ宣言がありません
441 : <entity> の引数リストがありません
442 : <entity> の引数が少なすぎます
443 : <entity> の引数が多すぎます
450 : long long 型は標準ではありません
451 : <entity> の省略は標準ではありません
452 : 戻り値型は conversion 関数には指定できません
456 : <entity> のインスタンス生成時の過剰な再帰
457 : <entity> は、関数またはスタティックデータメンバではありません
458 : <type> 型の引数は <type> 型のテンプレートパラメータと互換性がありません
459 : テンポラリまたは変換を必要とする初期化は実行できません
460 : <entity> の宣言は関数パラメータを非表示にします
461 : non-const への参照の初期値は左辺値でなければなりません
463 : "template" は使用できません
464 : <type> はクラステンプレートではありません
467 : <entity> への参照が無効です(ユニオン/非ユニオンが不一致)
468 : テンプレート引数はローカル型を参照できません
469 : <entity> のタグの種類は <entity> の宣言と互換性がありません
470 : グローバルスコープには <entity> という名前のタグが含まれていません
471 : <entity> には <entity> という名前のタグメンバがありません
473 : <entity> は、メンバへのポインタ宣言でのみ使用できます
476 : 後に "::~" が付いている名前は、クラス名または型名です
477 : デストラクタ名が <type> クラスの名前と一致しません
478 : デストラクタ名として使用されている型が <type> 型と一致しません
479 : <entity> は、呼び出された後に"inline"で再宣言されています
485 : <entity> は、インスタンス化できるエンティティではありません
486 : コンパイラによって生成された <entity> は明示的にインスタンス化できません
487 : インライン <entity> は明示的にインスタンス化できません
490 : <entity> はインスタンス化できません -- 明示的に特殊化されています
494 : typedef によって void 型のパラメータリストを宣言するのは標準ではありません
コンパイラが C99 モードでない場合、このエラーは関数宣言 f(V)Vvoid 型)によって生成されます。
typedef パラメータを、関数にパラメータがないことを意味する void に使用できるのは C99 モードの場合のみです。
496 : テンプレートパラメータ <entity> はこのスコープでは再宣言できません
497 : <entity> の宣言はテンプレートパラメータを非表示にします
498 : テンプレート引数リストはパラメータリストと一致していなければなりません
501 : 演算子名は関数として宣言する必要があります
502 : 演算子名は使用できません
503 : <entity> は現在のスコープでは特殊化できません
504 : メンバ関数のアドレスを取得するための非標準形式です
C++ 標準では、メンバへのポインタの名前が、修飾名とアンパサンドを使って &&A::f のようになっている必要があります。
505 : テンプレートパラメータが少なすぎます -- 前の宣言と一致しません
506 : テンプレートパラメータが多すぎます -- 前の宣言と一致しません
507 : 演算子 delete(void *) の関数テンプレートは使用できません
508 : クラステンプレートとテンプレートパラメータの名前を同じにすることはできません
511 : 列挙型は使用できません
512 : 参照型に対して型修飾子は使用できません
513 : <type> 型の値を <type> 型のエンティティに割り当てることはできません
514 : 符号なし整数と負の定数の無効な比較
515 : 不完全なクラス <type> には変換できません
516 : const オブジェクトにはイニシャライザが必要です
517 : オブジェクトには、初期化されていない const または reference メンバが含まれています
518 : 非標準のプリプロセッシングディレクティブ
519 : <entity> にテンプレート引数リストを指定することはできません
520 : "<...>" による初期化では集合タイプのオブジェクトを期待していました
521 : ポインタ-メンバ選択クラス型の間に互換性がありません(<type> と <type>)
522 : 無効な friend 宣言
524 : const オブジェクトに対して non-const 関数が呼び出されています(アナクロニズム)
525 : 依存するステーメントとして宣言は使用できません
526 : パラメータを void 型にすることはできません
以下に例を示します。
void foo(void a) { }
529 : この演算子はテンプレート引数式では使用できません
530 : トライブロックには、少なくとも 1 つのハンドラが必要です
531 : ハンドラには例外宣言が必要です
532 : ハンドラはデフォルトハンドラによってマスクされます
533 : ハンドラは潜在的に <type> 型の前のハンドラによってマスクされます
534 : 例外を指定するためにローカル型を使用します
535 : 例外の指定で型が重複しています
536 : 例外の指定は、前の <entity> の例外の指定と互換性がありません
540 : 例外処理のサポートがディセーブルされています
541 : 例外の指定の省略は前の <entity> と互換性がありません
542 : インスタンス生成要求ファイル <entity> を作成できませんでした
543 : 型のないテンプレート引数では非算術処理を実行できません
544 : 非ローカル変数の宣言にローカル型を使用します
545 : 関数の宣言にローカル型を使用します
546 : 制御の転送により、次の初期化がバイパスされます:
例:
int main(void){    int choice = 1;    int z =1;    switch(choice)    {      case 1:int y = 1;        z = y + z;        break;      case 2:break;    }    return 0;
この例では、y はある case の有効範囲内にあり、その他の case では使用されない初期化された変数です。switch ステートメントの状態から case ラベルへ移動すると、y は初期化されず、C++ 標準と競合します。
この問題に対処する一般的な方法は、y を宣言する case を次のように括弧で囲むことです。以下のコードでは y の有効範囲を case 1 に制限しているため、y を他の case で使用しようとするとエラーが発生します。
case 1:{   int y = 1;   z = y + z; } break;
y は Plain Old Data(POD)型なので、次のように、初期化を使用しない方法もあります。
case 1:int y;  y = 1;  z = y + z;  break;
この方法は、case 1 の範囲外にあるコードが使用する場合case 1 に割り当てられている値が誤って指定されても、警告が発せられないという欠点があります。
548 : 例外ハンドラに制御が転送されます
549 : 値が設定される前に <entity> が使用されています
550 : <entity> は設定されましたが使用されませんでした
551 : <entity> は現在のスコープでは定義できません
552 : 例外を指定できません
553 : <entity> の外部/内部リンケージが競合しています
554 : <entity> は、暗黙または明示の変換のために呼び出されません
555 : <entity> のタグの種類は <type> 型のテンプレートパラメータと互換性がありません
556 : 演算子 new(size_t) の関数テンプレートは使用できません
558 : <type> 型のメンバへのポインタは使用できません
559 : operator 関数のパラメータリストに省略記号を含めることができません
560 : <entity> は、将来キーワードとして使用するために予約されています
561 : 無効なマクロ定義:
562 : 無効なマクロ未定義:
563 : 無効な <entity> 出力ファイル <filename>
564 : <entity> 出力ファイル <filename> を開けません<reason>
570 : デバッグオプション引数にエラーがあります
571 : 無効なオプション:
574 : 無効な番号:
576 : 無効なインスタンス生成モード:
578 : 無効なエラーリミット:
585 : 仮想関数テーブルは C++ のコンパイル時にのみ抑止できます
586 : アナクロニズムオプションは C++ のコンパイル時にのみ使用できます
587 : インスタンス生成モードオプションは C++ のコンパイル時にのみ使用できます
588 : 自動インスタンス生成モードは、C++ のコンパイル時にのみ使用できます
589 : 暗黙のテンプレートインクルードモードは、C++ のコンパイル時にのみ使用できます
590 : 例外処理オプションは、C++ のコンパイル時にのみ使用できます
593 : ソースファイル名がありません
594 : 複数の入力ファイルをコンパイルする場合は出力ファイルを指定できません
595 : コマンドラインに引数が多すぎます
596 : 出力ファイルが指定されていますが、どのファイルも必要ありません
598 : テンプレートパラメータを void 型にすることはできません
600 : 厳密な ANSI モードは、アナクロニズムの許可と互換性がありません
601 : throw 式を void 型にすることはできません
602 : ローカルインスタンス生成モードは自動インスタンス生成と互換性がありません
603 : 抽象クラス型 <type> のパラメータは使用できません:
604 : 抽象クラス <type> の配列は使用できません
605 : 浮動小数点テンプレートパラメータは標準ではありません
606 : このプラグマは宣言の直前になければなりません
607 : このプラグマはステートメントの直前になければなりません
608 : このプラグマはステートメントまたは宣言の直前になければなりません
609 : ここでこの種類のプラグマは使用できません
611 : オーバーロードされた仮想関数 <entity> は、<entity> で一部分がオーバーライドされます
612 : inline template 関数の特定の定義は、その関数が初めて使用される前に指定する必要があります
613 : 診断制御オプション内の無効なエラータグ:
614 : 診断制御オプション内の無効なエラー番号:
615 : パラメータ型には、境界が不明な配列へのポインタが含まれます
616 : パラメータ型には、境界が不明な配列への参照が含まれます
617 : メンバ関数へのポインタを関数へのポインタにキャストします
618 : 構造体またはユニオンが名前付きのメンバを宣言していません
619 : 非標準の無名のフィールド
620 : 非標準の無名のメンバ
624 : <entity> は型名ではありません
625 : プリコンパイルヘッダ入力ファイル <entity> を開けません:<reason>
626 : プリコンパイルヘッダファイル <entity> は無効か、このバージョンのコンパイラによって生成されたものではありません
627 : プリコンパイルヘッダファイル <entity> がこのディレクトリで生成されていません
628 : プリコンパイルヘッダファイル <entity> の生成に使用されたヘッダファイルが変更されています
629 : コマンドラインオプションが、プリコンパイルヘッダファイル <entity> の作成時に使用されたものと一致しません
630 : プリプロセッシングディレクティブの初期シーケンスは、プリコンパイルヘッダファイル <entity> の初期シーケンスと互換性がありません
631 : <entity> に対して、マップされたメモリを取得できません:<reason>
これは、大きな プリコンパイルヘッダ(PCH)の使用を試みたときに、ARM コンパイラツールチェーンが使用する TMP ディレクトリにサイズの制限がある場合に発生する可能性があります。これを回避するには、TMP 環境変数を削除します。これにより、現在の作業ディレクトリに一時ファイルが作成されます。
『スタート ガイド』の以下のセクションを参照して下さい。
632 : "<entity>":プリコンパイルヘッダファイル "<entity>" の使用
633 : "<entity>":プリコンパイルヘッダファイル "<entity>" の作成
634 : メモリの使用法がプリコンパイルヘッダファイル <entity> と競合しています
これは、コンパイラのアドレス空間の必須部分を使用できないために PCH ファイルをビルドにマップできない場合に発生する可能性があります。
エラー 631 も参照して下さい。
635 : PCH メモリサイズが無効です
636 : PCH オプションは、コマンドラインの最初に表示されなければなりません
637 : PCH メモリ割り当て用のメモリが足りません
638 : プリコンパイルヘッダファイルは、複数の入力ファイルをコンパイルする場合は使用できません
639 : プリコンパイルヘッダファイルを生成するには、割り当て済みのメモリが足りません(<entity> バイト必要)
640 : プログラム内に非常に大きなエンティティがあるため、プリコンパイルヘッダファイルを生成できません
641 : <entity> は有効なディクレトリではありません
642 : テンポラリファイル名を作成できません
643 : "restrict" は使用できません
644 : 関数型へのポインタまたは参照は "restrict" によって修飾できません
645 : <entity> は、認識されない __declspec 属性です
646 : ここで呼び出し規則修飾子を指定することはできません
647 : 呼び出し規則修飾子が競合しています
650 : ここで指定した呼び出し規則は無視されます
651 : 呼び出し規則の後に、ネストされた宣言子を続けることはできません
652 : この型では呼び出し規則は無視されます
654 : 宣言修飾子は前の宣言と互換性がありません
655 : 修飾子 <entity> はこの宣言には使用できません
656 : トライブロックに制御が転送されます
657 : インラインの指定は前の <entity> と互換性がありません
658 : テンプレート定義の閉じ括弧が見つかりません
659 : wchar_t keyword オプションは C++ のコンパイル時にのみ使用できます
660 : パックアライメント値が無効です
661 : 整数定数が期待されます
662 : 純仮想関数の呼び出し
例えば、次のように、純仮想関数が呼び出されるとします。
struct T { T(); virtual void pvfn() = 0; };                    // 純仮想関数 T::T() { pvfn(); } // ここで警告が発生
デフォルトでは、純仮想関数を呼び出すと、次のような結果になります。
  1. ライブラリ関数 __cxa_pure_virtual() が呼び出される
  2. __cxa_pure_virtual() 関数がシグナル SIGPVFN を生成する
  3. このシグナルが default_signal_handler によってトラップされる
  4. このハンドラがセミホスティングを使ってコンソールに "純仮想関数が呼び出されました" と表示する
『armcc ユーザガイド』の以下のセクションを参照して下さい。
663 : ソースファイル識別子ストリングが無効です
664 : クラステンプレートは friend 宣言では定義できません
665 : "asm" は使用できません
666 : "asm" は関数定義と一緒に使用する必要があります
667 : "asm" 関数は標準ではありません
668 : 明示的なパラメータなしの省略記号は標準ではありません
669 : "&..." は標準ではありません
670 : "&..." は使用できません
672 : const volatile への参照の初期値としてテンポラリが使用されています(アナクロニズム)
673 : <type> 型の参照は <type> 型の値で初期化することはできません
674 : const volatile への参照の初期値は左辺値でなければなりません
676 : <entity> のスコープ外宣言の使用
678 : <entity> の呼び出しはインラインにできません
679 : <entity> はインラインにできません
680 : 無効な PCH ディレクトリ:
688 : <entity> がパックアライメントスタックで見つかりません
689 : パックアライメントスタックが空です
690 : RTTI オプションは C++ のコンパイル時にのみ使用できます
691 : 削除されたコピーに必要な <entity> にアクセスできません
692 : 参照パラメータを右辺値にバインドできないので、削除されたコピーに必要な <entity> を呼び出せません
693 : <typeinfo> は、typeid を使用する前にインクルードする必要があります
694 : <entity> は、const またはその他の型修飾子をキャストできません
695 : dynamic_cast の型は、完全なクラス型へのポインタか参照、または void * でなければなりません
696 : ポインタ dynamic_cast のオペランドは、完全なクラス型へのポインタでなければなりません
697 : 参照 dynamic_cast のオペランドは、完全なクラス型の左辺値でなければなりません
698 : ランタイム dynamic_cast のオペランドは、ポリモーフィッククラスでなければなりません
699 : bool オプションは C++ のコンパイル時にのみ使用できます
702 : = が期待されます
703 : 条件宣言内で宣言子が期待されます
704 : 条件内で宣言されている <entity> は、このスコープでは再宣言できません
705 : デフォルトのテンプレート引数は、関数テンプレートには使用できません
706 : "," または "&gt;" が期待されます
707 : テンプレートパラメータリストが期待されます
708 : ブール値のインクリメントは廃止される予定です
709 : ブール型は使用できません
710 : ベースクラス <entity> のオフセット(クラス <entity> 内)が大きすぎます
711 : 式はブール型(またはブールに変換可能な型)でなければなりません
712 : array new および delete オプションは C++ のコンパイル時にのみ使用できます
713 : <entity> は変数名ではありません
717 : const_cast 内の型は、オブジェクト型へのポインタ、参照、またはポインタ-メンバでなければなりません
718 : const_cast は型指定子のみを調整できます。基本型を変更することはできません。
719 : mutable は使用できません
720 : <entity> を再定義してアクセス権を変更することはできません
722 : 代替トークン "&lt;:" の使用は予想されていません
723 : 代替トークン "%:" の使用は予想されていません
724 : ネームスペースは定義できません
725 : 名前はネームスペース名でなければなりません
726 : ネームスペースエイリアスは定義できません
727 : ネームスペースで修飾された名前が必要です
728 : ネームスペース名は使用できません
730 : <entity> はクラステンプレートではありません
731 : 不完全な要素型の配列は標準ではありません
732 : 領域割り当て演算子はネームスペースでは宣言できません
733 : 領域解放演算子はネームスペースでは宣言できません
734 : <entity> は <entity> の using 宣言と競合しています
735 : <entity> の using 宣言は、<entity> と競合しています
736 : ネームスペースオプションは C++ のコンパイル時にのみ使用できます
737 : using 宣言は無視されます -- 現在のネームスペースを参照しています
738 : クラスで修飾された名前が必要です
744 : 互換性のないメモリ属性が指定されています
745 : メモリ属性は無視されます
746 : メモリ属性の後に、ネストされた宣言子を続けることはできません
747 : メモリ属性が複数回指定されています
748 : 呼び出し規則が複数回指定されています
749 : 型修飾子は使用できません
750 : <entity> が、そのテンプレートを宣言する前に使用されました
751 : 同じパラメータ型のスタティックおよび非スタティックメンバ関数は多重定義できません
752 : <entity> が前に宣言されていません
753 : テンプレート id は使用できません
754 : クラスで修飾された名前は使用できません
755 : <entity> は現在のスコープでは宣言できません
756 : 修飾された名前はネームスペースメンバ宣言では使用できません
757 : <entity> は型名ではありません
758 : 明示的なインスタンス生成は現在のスコープでは実行できません
759 : <entity> は現在のスコープでは明示的にインスタンス化できません
760 : <entity> が複数回明示的にインスタンス化されています
761 : typename はテンプレート内でのみ使用できます
763 : typename オプションは C++ のコンパイル時にのみ使用できます
764 : implicit typename オプションは C++ のコンパイル時にのみ使用できます
765 : オブジェクトライクなマクロ定義の先頭に非標準文字があります
766 : 仮想 <entity> の例外の指定は、オーバーライドされた <entity> の指定と互換性がありません
767 : ポインタをより小さい整数に変換します
768 : 暗黙的に宣言された仮想 <entity> の例外の指定は、オーバーライドされた <entity> の指定と互換性がありません
769 : <entity>(<entity> から暗黙的に呼び出し)があいまいです
770 : オプション "explicit" は C++ のコンパイル時にのみ使用できます
771 : "explicit" は使用できません
772 : 宣言が <entity>(予約済みクラス名)と競合しています
773 : "()" のみが配列 <entity> のイニシャライザとして使用できます
774 : "virtual" は関数テンプレート宣言では使用できません
775 : 無名共用体が無効です -- クラスメンバテンプレートは使用できません
776 : テンプレートのネストの深さが <entity> の前の宣言と一致しません
777 : この宣言には複数の "template <...>" 節を含めることができません
778 : for-init のスコープを制御するオプションは C++ のコンパイル時にのみ使用できます
779 : for-loop 初期化で宣言された <entity> は、このスコープでは再宣言できません
780 : <entity> への参照です -- 古い for-init スコープルールでは <entity> でした
781 : for-init の相違に対する警告を制御するオプションは C++ のコンパイル時にのみ使用できます
782 : ここでは仮想 <entity> の定義が必要です
783 : 空のコメントはトークン貼り付け演算子 "##" として解釈されます
784 : 記憶クラスは friend 宣言では使用できません
785 : <entity> のテンプレートパラメータリストはこの宣言では使用できません
786 : <entity> は有効なメンバクラスまたは関数テンプレートではありません
787 : 有効なメンバクラスまたは関数テンプレート宣言ではありません
788 : テンプレートパラメータリストを含むテンプレート宣言の後に、明示的な特殊化宣言を続けることはできません
789 : <entity> の明示的な特殊化は、<entity> を初めて使用する前に行う必要があります
790 : 明示的な特殊化は現在のスコープでは実行できません
791 : <entity> の部分的な特殊化は実行できません
792 : <entity> は明示的に特殊化できるエンティティではありません
793 : <entity> の明示的な特殊化は、初めて使用する前に実行する必要があります
794 : テンプレートパラメータ <entity> は elaborated 型指定子では使用できません
795 : <entity> を特殊化するには、"template&lt;&gt;" 構文を使用する必要があります
798 : オプション old_specializations は C++ のコンパイル時にのみ使用できます
799 : "template&lt;&gt;" 構文を使用しない <entity> の特殊化は標準ではありません
800 : この宣言に extern "C" リンケージを含めることはできません
801 : <entity> は、現在のスコープのクラスまたは関数テンプレート名ではありません
802 : 参照されていない関数テンプレートの再宣言時におけるデフォルト引数の指定は標準ではありません
803 : 既に参照されている関数テンプレートの再宣言時にデフォルト引数を指定することはできません
804 : ベースクラス <type> のメンバへのポインタは派生クラス <type> のメンバへのポインタに変換できません。ベースクラスは仮想です。
805 : 例外の指定は、<entity><entity> の例外の指定と互換性がありません
806 : 例外の指定の省略は <entity> と互換性がありません
807 : デフォルト引数式の最後が期待されていませんでした
808 : 参照のデフォルト初期化は実行できません
809 : 初期化されていない <entity> に const メンバが含まれています
810 : 初期化されていないベースクラス <type> に const メンバが含まれています
811 : const <entity> にはイニシャライザが必要です -- クラス <type> には明示的に宣言されたデフォルトコンストラクタがありません
812 : const オブジェクトにはイニシャライザが必要です -- クラス <type> には明示的に宣言されたデフォルトコンストラクタがありません
814 : 厳密な ANSI モードは long 保存規則と互換性がありません
815 : 戻り値型に対する型修飾子は無効です
以下に例を示します。
__packed void foo( void ) { }
戻り値型が __packed になることはありえないので、__packed 修飾子は無視されます。
816 : 関数定義では、"void" 戻り値型に対して型修飾子は使用できません
817 : スタティックデータメンバ宣言はこのクラスでは使用できません
818 : テンプレートのインスタンス生成の結果、無効な関数宣言が生成されました
819 : "..." は使用できません
821 : extern inline <entity> は参照されましたが定義されていません
822 : <type> 型のデストラクタ名が無効です
824 : デストラクタ参照があいまいです -- <entity> および <entity> の両方を使用できます
825 : <entity> を使用できます
826 : <entity> はまったく参照されていません
827 : コンストラクタイニシャライザリストでは、ユニオンの 1 つのメンバのみを指定できます
828 : new[] および "delete[]" のサポートが無効となっています
829 : 生成された C コードで、"long double" の代わりに "double" が使用されています
830 : <entity> には対応する演算子 delete<entity>(割り当てられたオブジェクトの初期化中に例外がスローされた場合に呼び出されます)がありません
831 : 配置の削除のサポートはディセーブルされています
832 : 該当する演算子 delete が表示されていません
833 : 不完全型へのポインタまたは参照は使用できません
834 : 部分的な特殊化は無効です -- <entity> は既に全体が特殊化されています
835 : 例外の指定が不完全です
836 : ローカル変数への参照を返します
837 : 明示的な型の省略は標準ではありません("int" を想定)
関数が戻り値型なしで宣言または定義されています。
例えば、次のコードでは、
foo(void){
    int a;
}
int 型の結果が想定されます。
結果を返さない場合は、戻り値型として void を指定して下さい。これは、古いスタイルの C では一般的なことです。
--diag_suppress 837 オプションを指定すると、この警告が非表示になります。
このメッセージの特別なケースである main() については、メッセージ番号 938 も参照して下さい。
838 : 複数の部分的な特殊化が、<entity> のテンプレート引数リストと一致しています
840 : テンプレート引数リストはプライマリテンプレートの宣言では使用できません
841 : 部分的な特殊化にデフォルトテンプレート引数を指定することはできません
842 : <entity> は、<entity> のテンプレート引数リストで使用されていません
844 : 部分的な特殊化のテンプレート引数リストには、テンプレートパラメータに型を依存する型のない引数がインクルードされています
845 : この部分的な特殊化は、<entity> のインスタンス生成に使用されるはずでした
846 : この部分的な特殊化は、<entity> のインスタンス生成をあいまいにするはずでした
847 : 式は整数型または列挙型である必要があります
848 : 式は算術型または列挙型である必要があります
849 : 式は、算術型、列挙型、またはポインタ型である必要があります
850 : キャスト型は整数または列挙でなければなりません
851 : キャスト型は、算術、列挙、またはポインタでなければなりません
852 : 式は、完全なオブジェクト型へのポインタでなければなりません
854 : 部分的な特殊化の型のない引数は型のないパラメータまたは定数の名前でなければなりません
855 : 戻り値型が戻り値型 <type>(オーバライドされた仮想関数 <entity> のもの)と同じではありません
856 : オプション "guiding_decls" は C++ のコンパイル時にのみ使用できます
857 : クラステンプレートの部分的な特殊化は、それがメンバになっているネームスペースで宣言する必要があります
858 : <entity> は純仮想関数です
859 : 純仮想 <entity> にはオーバライタがありません
860 : __declspec 属性は無視されます
861 : 入力行に無効な文字があります
862 : 関数は不完全型 <type> を返します
863 : この "#pragma pack" ディレクティブの効果は <entity> に対してローカルです
864 : <entity> はテンプレートではありません
865 : friend 宣言では部分的な特殊化を宣言できません
866 : 例外の指定は無視されます
867 : size_t の宣言が期待される型 <type> と一致しません
868 : ネストされたテンプレート引数リストの隣接する "&gt;" 区切り文字の間に空白が必要です("&gt;&gt;" は右シフト演算子)
869 : ロケール <entity> を設定してマルチバイト文字の処理を有効にすることができませんでした
870 : マルチバイト文字シーケンスが無効です
871 : テンプレートのインスタンス生成の結果、予期しない関数型 <type> になりました(テンプレート宣言以降に名前の意味が変更された可能性があります -- テンプレートの型は <type> です)
872 : 導入宣言があいまいです -- 複数の関数テンプレート <entity> が <type> 型と一致します
873 : 型のないテンプレート引数では非整数処理を実行できません
884 : メンバへのポインタ表現 <entity> は <entity> に対して既に設定されています
885 : <type> を使用して <type> のコンストラクタを指定することはできません
886 : 整数定数の接尾文字が無効です
890 : 境界が指定されていない可変長配列は使用できません
891 : 明示的なテンプレート引数リストはこの宣言では使用できません
892 : リンケージを持つエンティティは可変長配列を含む型にすることができません
893 : 可変長配列の保存期間をスタティックにすることができません
894 : <entity> はテンプレートではありません
895 : 可変長配列次元(<entity> と宣言)
896 : テンプレート引数が期待されます
902 : 型修飾子は無視されます
912 : クラスメンバ参照があいまいです -- <entity> が <entity> よりも優先して使用されています
915 : セグメント名は既に指定されています
916 : 派生クラス <type> のメンバへのポインタはベースクラス <type> のメンバへのポインタに変換できません。ベースクラスは仮想です。
917 : インスタンス生成ファイルの無効なディレクトリ:
921 : インスタンス生成情報ファイル名は、複数の入力ファイルをコンパイルする場合は指定できません
923 : 複数のコマンドラインオプションが省略形 "--<entity>" と一致しています
925 : 関数型の型修飾子は無視されます
926 : 定義リストファイルを開けません:<entity>
928 : va_start の使用法が正しくありません
929 : va_arg の使用法が正しくありません
930 : va_end の使用法が正しくありません
931 : pending instantiations は C++ のコンパイル時にのみ使用できます
932 : #import ファイルの無効なディレクトリ:
934 : 参照型のメンバはユニオンでは使用できません
935 : ここに "typedef" を指定することはできません
936 : <entity> を再宣言するとアクセス権が変更されます
937 : クラスまたはネームスペースで修飾された名前が必要です
938 : 戻り値型 "int" が関数 "main" の宣言で省略されています
main() が戻り値型なしで宣言または定義されています。
以下に例を示します。
main(void){
  int a;
}
このコードは、--strict でコンパイルされた場合、コンパイラによってエラーとして報告されます。
結果を返さない場合は、戻り値型として void を指定して下さい。これは、古いスタイルの C では一般的なことです。
ANSI C では、--diag_suppress 938 オプションを指定すると、この警告が非表示になります。
C++ では、常にエラーになります。
より一般的なケースについては、メッセージ番号 837 を参照して下さい。
939 : メンバへのポインタ表現 <entity> は <entity> において制約が大きすぎます
940 : 非 void <entity> の末尾に return ステートメントがありません
関数に戻り値型が定義されていますが、値が返されていません。
例:
int foo(int a)
{
  printf("Hello %d", a);
}
941 : <entity> の重複する using-declaration は無視されます
942 : enum ビットフィールドは常に符号なしですが、enum <type> には負の列挙子が含まれています
943 : オプション "class_name_injection" は C++ のコンパイル時にのみ使用できます
944 : オプション "arg_dep_lookup" は C++ のコンパイル時にのみ使用できます
945 : オプション "friend_injection" は C++ のコンパイル時にのみ使用できます
946 : template の後の名前はテンプレートでなければなりません
949 : この宣言時におけるデフォルト引数の指定は標準ではありません
951 : 関数 "main" の戻り値型は "int" でなければなりません
952 : 型のないテンプレートパラメータをクラス型にすることはできません
953 : クラスの外側にあるクラステンプレートメンバの宣言時に、デフォルトテンプレート引数を指定できません
954 : return ステートメントは、コンストラクタのトライブロックのハンドラでは使用できません
955 : 通常の指定子および拡張指定子は、イニシャライザ指定で組み合わせることができません
956 : 2 番目の添字を最初の添字よりも小さくすることはできません
959 : ビットフィールドの宣言されたサイズが、ビットフィールド型のサイズよりも大きくなっています。<entity> ビットに切り捨てられます。
960 : コンストラクタ名として使用されている型が <type> 型と一致しません
961 : リンケージのない型を使用してリンケージのある変数を宣言しています
962 : リンケージのない型を使用して関数を宣言しています
963 : 戻り値型はコンストラクタには指定できません
964 : 戻り値型はデストラクタには指定できません
965 : ユニバーサル文字名が正しい形式ではありません
966 : ユニバーサル文字名が無効な文字を指定しています
967 : ユニバーサル文字名は、基本キャクラタセットの文字を指定できません
968 : このユニバーサル文字は識別子には使用できません
969 : 識別子 __VA_ARGS__ は、可変個引数マクロの置換リストにのみ表示できます
970 : この friend 宣言の修飾子は無視されます
971 : 配列範囲指定子はダイナミックなイニシャライザには適用できません
972 : プロパティ名はここには表示されません
975 : 可変長配列型は使用できません
976 : 複合リテラルは整数的な定数式では使用できません
977 : <type> 型の複合リテラルは使用できません
978 : テンプレート friend 宣言はローカルクラスでは宣言できません
979 : あいまいな "?" 演算:<type> 型の 2 番目のオペランドは <type> 型の 3 番目のオペランドに変換できます。その逆も可能です。
980 : 関数ポインタへの適切な operator() または変換関数のないクラス型のオブジェクトの呼び出し
982 : 引数リストに対して <type> 型のオブジェクトを呼び出すことができる方法が複数あります
983 : typedef 名は既に宣言されています(同様の型で)
984 : 演算子 new と演算子 delete には内部リンケージを与えることはできません
985 : 記憶クラス "mutable" は無名共用体には使用できません
986 : プリコンパイルヘッダファイルが無効です
987 : 抽象クラス型 <type> はキャッチ型として使用できません:
988 : 修飾された関数型を使用して非メンバ関数またはスタティックメンバ関数を宣言することはできません
989 : 修飾された関数型を使用してパラメータを宣言することはできません
990 : 修飾された関数型へのポインタまたは参照を作成できません
991 : 余分な中括弧は標準ではありません
992 : 無効なマクロ定義:
コンパイル行での、"-D##" のような不適切な -D の使用
993 : ポインタ型 <type> および <type> の減算は標準ではありません
994 : 空のテンプレートパラメータリストはテンプレートテンプレートパラメータ宣言では使用できません
995 : class が期待されます
996 : テンプレートテンプレートパラメータを宣言する場合は、"class" キーワードを使用する必要があります
997 : <entity> は <entity>によって隠蔽されています -- 仮想関数のオーバーライドを意図した可能性があります
998 : 修飾された名前は、関数定義である friend 宣言には使用できません
999 : <entity> は <entity> と互換性がありません
1000 : ここに記憶クラスを指定することはできません
1001 : using-declaration によって指定されたクラスメンバは、直接ベースクラスで表示されていなければなりません
1006 : テンプレートテンプレートパラメータは、そのテンプレートパラメータのいずれかと同じ名前にすることはできません
1007 : デフォルト引数の再帰的なインスタンス生成
1009 : <entity> は、定義できるエンティティではありません
1010 : デストラクタ名は修飾する必要があります
1011 : friend クラス名は "typename" で示すことができません
1012 : using-declaration ではコンストラクタまたはデストラクタを指定できません
1013 : 修飾された friend テンプレート宣言は、前に宣言した特定のテンプレートを参照する必要があります
1014 : クラステンプレート宣言内の指定子が無効です
1015 : 引数は仮パラメータと互換性がありません
1016 : ARM 関数修飾子の接頭文字形式は、この位置に置くことができません
1017 : 重複する ARM 関数修飾子は使用できません
1018 : ARM 関数修飾子はこの宣言/定義には使用できません
ARM 関数修飾子の例としては、 __svc__pure__irq があります。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
1019 : 関数修飾子 <entity> は非スタティックメンバ関数には使用できません
1020 : __irq 関数は引数を取ることができません
1021 : __irq 関数は結果を返すことができません
1022 : <entity> 関数へのポインタまたは参照を持つことはできません
1023 : __global_reg はこの宣言には使用できません
1024 : 無効なグローバルレジスタ番号です。1 ~ 8 を使用できます。
無効なレジスタが __global_reg で使用されています。
例:
__global_reg(786) int x;
1025 : __svc パラメータ <entity> が、ARM SVC 命令の許可された範囲(0 ~ 0xffffff)外です
SVC 番号は ARM コードでは 0 ~ 0xffffff 、Thumb コードでは 0 ~ 0xFF の範囲に制限されています。
標準セミホスティング SVC は、ARM コードでは 0x123456 、Thumb コードでは 0xAB が使用されます。
1026 : グローバルレジスタ変数のアドレスを取得することはできません
1027 : __svc_indirect 関数には引数が必要です
1028 : グローバルレジスタ宣言が <entity> と競合しています
1029 : __packed は、非ポインタパラメータでは無視されます
1030 : <entity> <type> は、__packed なしで前に宣言されています
1031 : <type> の定義(パックされた <type> 内)は __packed でなければなりません
パックされていない子構造体が、パックされた親構造体に含まれていると、エラーになります。サブ構造体が配列である場合も同様です。
以下に例を示します。
typedef struct ChildStruct {  int a;  } ChildStruct; typedef __packed struct ParentStruct {    ChildStruct child[1];  } ParentStruct;
次のようなメッセージが表示されます。
エラー:#1031:"ChildStruct" の定義(パックされた "ParentStruct" 内)は __packed でなければなりません
『armcc ユーザガイド』の以下のセクションを参照して下さい。
1032 : ネストされたアノニマス <entity> の定義(パックされた <type> 内)は__packed でなければなりません
1033 : <entity> は関数定義と互換性がありません
1034 : __irq 関数を関数呼び出しのターゲットにすることはできません
1038 : 無効なアライメントが指定されています。2 の整数の累乗のみを指定できます。
1039 : アライメント宣言が <entity> と競合しています
1040 : アンダーアライメントは許可されません
1041 : 自動オブジェクトのアライメントは 8 を超えることができません
以下に例を示します。
int main(void){   __align(16) int foo = 10; }
__align はローカル変数 foo には使用できないため、エラーが発生します。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
1042 : <entity> は、位置非依存でコンパイルされている場合、ダイナミックに初期化できません
1043 : <entity> は mutable メンバを保持しているので const にできません
以下に例を示します。
struct foo { int a; mutable int b; }; extern const struct foo bar;
コンパイラが ROPI モードまたは RWPI モードの場合は、 const オブジェクトに mutable メンバを含めることはできません。
これらのモードでこの制約を行う理由は、コンパイラは読み出し-書き込みデータとは別に、読み出し専用データに対処するからです。したがって、オブジェクトが RO または RW データセクションにあるかどうかを知る必要があります。次のサンプルでは、この制約は bar mutable メンバを含められないため、RO データセクションに存在することを意味します。
struct foo; extern const struct foo bar; const struct foo *get_foo()  { return &bar; }
『armcc ユーザガイド』の以下のセクションを参照して下さい。
1044 : オプション "dep_name" は C++ のコンパイル時にのみ使用できます
1045 : "operator-&gt;" 関数のシーケンスのループがクラス <type> で始まっています
1046 : <entity> にメンバクラス <entity> がありません
1047 : グローバルスコープには <entity> という名前のクラスが含まれていません
1048 : テンプレートのデフォルト引数の再帰的なインスタンス生成
1049 : アクセス宣言と using 宣言はユニオンに表示できません
1050 : <entity> はクラスメンバではありません
1051 : 非標準メンバ定数を宣言できません
1053 : オプション "parse_templates" は C++ のコンパイル時にのみ使用できます
1054 : オプション "dep_name" は "no_parse_templates" では使用できません
1055 : 指定されている言語モードの間に互換性がありません
1056 : ネストされたクラスの再宣言は無効です
1057 : 未知のサイズ配列を含む型は使用できません
1058 : スタティックな保存期間を持つ変数は inline 関数内で定義できません
1059 : 内部リンケージを持つエンティティは、外部リンケージを持つ inline 関数内で参照できません
1060 : 引数の型 <type> は、この型汎用の関数マクロと一致しません
1062 : friend 宣言は、前の宣言にデフォルト引数を追加できません
1063 : <entity> はこのスコープで宣言できません
1064 : 予約済みの識別子 <entity> は、関数内でのみ使用できます
1065 : このユニバーサル文字を識別子の先頭には使用できません
1066 : 文字列リテラルが期待されます
1070 : va_copy の使用法が正しくありません
1071 : <entity> は、浮動小数点型と一緒の場合のみ使用できます
1072 : 複素型は使用できません
1073 : 指定子の種類が無効です
1074 : 浮動小数点値は正確に表現できません
1075 : 複素数浮動小数点演算の結果が範囲外です
1077 : イニシャライザは、フレキシブル配列メンバに対して指定できません
1079 : 標準では、後続の宣言によって <entity> に型を指定する必要があります("int" を想定)
1080 : インライン <entity> には定義が必要です
1081 : 整数をより小さいポインタに変換します
1082 : _Complex または _Imaginary 型の型指定子には浮動小数点型を含める必要があります
1083 : インラインアセンブラの構文エラー
ARM コンパイラ 4.1p2 以前のバージョンでは、このエラーは、インラインアセンブリコードにインラインアセンブラ(例えば WFI 命令)によってサポートされなかった命令が含まれた場合に生成されます。4.1p3 以降のバージョンでは、すべての ARM コンパイラ 5 のバージョンを含めて、次のエラーが代わりに発生します。
1084:この命令はインラインアセンブラでは使用できません
1084 : この命令はインラインアセンブラでは使用できません
1085 : オペランドがありません
1086 : オペランドの型が正しくありません
1087 : オペランドは定数でなければなりません
1088 : オペランドの数が正しくありません
1089 : PSR オペランドが無効です
1090 : PSR オペランドが期待されます
1091 : 指定されたシフトが無効です
1092 : acc0 でなければなりません
1093 : 修正可能な左辺値でなければなりません
1094 : レジスタ式が期待されます
1095 : ラベル名または関数名が期待されます
1096 : 命令を条件付きにすることはできません
1097 : [ または ] が期待されます
1098 : シフト演算が期待されます
1099 : ] が期待されません
1100 : レジスタ指定シフトは使用できません
1101 : プレインデックスアドレッシングは使用できません
1102 : ポストインデクスアドレッシングは使用できません
1103 : アドレシングモードではライトバックできません
1104 : { が期待されます
1105 : } が期待されます
1106 : レジスタリストにレジスタが多すぎます
1107 : ここでは ^ のみが有効です
1108 : レジスタリストに仮想レジスタと C/C++ 式を混在させることはできません
1109 : レジスタ範囲では仮想レジスタのみを指定できます
1110 : ユーザモードのレジスタ選択/CPSR 更新は、インラインアセンブラではサポートされていません。組み込みアセンブラまたはアウトオブラインアセンブラを使用してください。
1111 : コプロセッサ名が期待されます
1112 : コプロセッサレジスタ名が期待されます
これらのエラーは、次のような場合にインラインアセンブラによって発生します。
  • MCR または MRC 命令で、コプロセッサ番号を指定し忘れている
  • 無効なコプロセッサ番号またはコプロセッサレジスタ番号が指定されている
この正しい使用例は、次のとおりです。
void foo()
{
  int reg0;
  __asm
  {
    MRC p15, 0, reg0, c1, c0, 0
  }
}
1114 : この機能は、ターゲットアーキテクチャ/プロセッサではサポートされていません
例えば、以下のコードを armcc --cpu 4T でコンパイルした場合、
int main(void) {   int a,b,c;   __asm {   QADD a,b,c   }   return(a); }
サチュレート加算命令は ARMv5TE 以降でしかサポートされていないため、エラーメッセージが生成されます。
1115 : const オペランドに割り当てられません
1116 : レジスタリストは空にできません
1117 : 非修飾の仮想関数は使用できません
1118 : 復帰改行が期待されます
1119 : スタティック変数への参照は __asm 関数では使用できません
1120 : スタティック関数への参照は __asm 関数では使用できません
1121 : データメンバへのポインタは __asm 関数では使用できません
1122 : __asm 関数にはスタティック修飾子を含めることができません。
1123 : ベースクラス <type> は <type> の仮想ベースクラスです
1124 : ベースクラス <type> は <type> の仮想ベースクラスではありません
1125 : <entity> にはメンバ関数 <entity> が含まれていません
1126 : "__asm" はこの宣言には使用できません
1127 : メンバイニシャライザリストは __asm コンストラクタには使用できません
1128 : トライブロックは __asm コンストラクタには使用できません
1129 : オペランドの順序と前のコンパイラバージョンに互換性がありません
1130 : __align は typedef では使用できません
1131 : 移植不可能命令(ライトバックとベースを使用する LDM がレジスタリストで指定されている場合、ベースの最終的な値は予想できません)
1132 : 移植不可能命令(ライトバックとベースを使用する STM がレジスタリストの最初にない場合、ベースの格納値は予想できません)
1133 : 式オペランドは仮想ベースレジスタでは使用できません
1134 : リテラルは "long long" として処理されます
定数が signed long で表現するには大きすぎるので、(signed) long long として処理されました。
以下に例を示します。
int foo(unsigned int bar)  {   return (bar == 2147483648);  }
2147483648 は signed long で使用できる最大値より 1 大きいので、警告が発生します。警告が表示されないようにするには、定数を signed long ではなく(64 ビットの)long long 型として処理する必要がある場合は ll または LL 接尾文字を明示的に追加し、定数を unsigned 整数として処理する必要がある場合は U 接尾文字を追加します。
以下に例を示します。
int foo(unsigned int bar)  {    return (bar == 2147483648U);  }
『armcc ユーザガイド』の以下のセクションを参照して下さい。
1135 : リテラルは "unsigned long long" として処理されます
定数が signed long long で表現するには大きすぎるので、unsigned long long 型に指定されました。エラー番号 1134 も参照して下さい。
1137 : コンマが期待されます
1138 : この式の後に期待されないコンマがあります
1139 : MRRC 処理のオペコードは 0 ~ 15 の範囲になければなりません
1140 : MCRR 処理のオペコードは 0 ~ 15 の範囲になければなりません
1141 : CDP 処理のオペコードは 0 ~ 15 の範囲になければなりません
1142 : MRC 処理のオペコードは 0 ~ 7 の範囲になければなりません
1143 : MCR 処理のオペコードは 0 ~ 7 の範囲になければなりません
1144 : opcode_2 は 0 ~ 7 の範囲になければなりません
1145 : LDC/STC の余分なオペコードは 0 ~ 255 の範囲になければなりません
1146 : LDC/STC オフセットは -1020 ~ 1020 の範囲内にあり、ワード境界で整列させる必要があります
1147 : 定数オペランドが範囲外です
1148 : 浮動小数点演算子は --fpu=none では使用できません
1149 : 関数定義内の浮動小数点の戻り値型は、-fpu=none では使用できません
1150 : 関数定義内の浮動小数点のパラメータ型は、-fpu=none では使用できません
1151 : イニシャライザによる浮動小数点変数定義は、-fpu=none では使用できません
1152 : ポリモーフィックベースクラスもエクスポートする必要があります
1153 : このレジスタリストの物理レジスタを割り当てることはできません
1154 : ここには偶数番号の物理レジスタのみを指定できます
1155 : ここには物理レジスタへの割り当てのみを指定できます
1156 : ここには物理レジスタからの割り当てのみを指定できます
1157 : 破壊されたレジスタリストの物理レジスタのみを指定できます
1158 : ここでは PSR オペランドは無効です
1159 : 明確なラベル名または関数名が期待されます
1160 : テンポラリのデストラクタの呼び出しは、この命令によって更新された条件フラグを上書きします
1161 : スタックポインタ SP(r13)を直接変更することはできません
1162 : リンクレジスタ LR(r14)を直接変更することはできません
1163 : プログラムカウンタ PC(r15)を直接変更することはできません
1164 : オフセットはワード境界で整列させる必要があります
1165 : 型は無名共用体では宣言できません
1166 : ローカル変数へのポインタを返します
1167 : ローカルテンポラリへのポインタを返します
1168 : オプション "export" は C++ のコンパイル時にのみ使用できます
1169 : オプション "export" は "no_dep_name" では使用できません
1170 : オプション "export" は "implicit_include" では使用できません
1171 : <entity> の宣言は、別の変換単位内の宣言と互換性がありません
1172 : もう 1 つの宣言は <entity> です
1175 : フィールド宣言は可変長配列を含む型にすることができません
1176 : <entity> の宣言は <entity> のコンパイル中には別の意味を持っていました
1177 : template が期待されます
1178 : "export" は明示的なインスタンス生成には使用できません
1179 : "export" はこの宣言には使用できません
1180 : 無名のネームスペースのメンバは "export" として宣言できません
1181 : テンプレートを定義した後に "export" として宣言することはできません
1182 : 宣言にラベルを付けることはできません
1183 : エクスポートされたテンプレートのサポートはディセーブルされています
1184 : エクスポートされたテンプレートファイルを開けません:<entity>
1185 : <entity> は <entity> のコンパイル中に既に定義されています
1186 : <entity> は別の変換単位で既に定義されています
1188 : メイクファイルの依存関係を一覧表示するオプションは、複数の変換単位をコンパイルする場合には指定できません
1190 : 前処理済み出力を生成するオプションは、複数の変換単位をコンパイルする場合には指定できません
1191 : クラスと同じ名前のフィールドを、ユーザが宣言したコンストラクタによってクラスで宣言することはできません
1192 : "implicit_include" は、複数の変換単位をコンパイルする場合には使用できません
1193 : エクスポートされたテンプレートファイル <entity> は破壊されています
1194 : <entity> はインスタンス化できません -- エクスポートされた定義を含む変換単位で明示的に特殊化されています
1196 : オブジェクトにはメンバ <entity> と互換性のない cv 修飾子が含まれています
1197 : 引数リストと一致する <entity> のインスタンスはありません(オブジェクトには一致を妨げる cv 修飾子が含まれています)
1198 : 属性が、<type> と互換性のないモードを指定しています
1199 : 指定された幅を持つ型はありません
1200 : 属性によって指定されたアライメント値が無効です
1201 : <type> の属性が無効です
1202 : <entity> の属性が無効です
1203 : パラメータの属性が無効です
1204 : 属性 <entity> は引数を取ることができません
1207 : 属性 <entity> は無視されます
1208 : 属性はここに表示できません
1209 : 属性 <entity> に対する引数が無効です
1210 : packed 属性は typedef では無視されます
1211 : goto *expr では、expr は void * 型である必要があります
1212 : "goto *expr" は標準ではありません
1213 : ラベルのアドレスの取得は標準ではありません
1214 : ファイル名が複数回指定されています
1215 : #警告ディレクティブ:<entity>
1216 : 属性 <entity> は関数定義でのみ使用できます
1217 : transparent_union 属性はユニオンのみに適用され、<type> はユニオンではありません
1218 : transparent_union 属性は不完全型では無視されます
1219 : <type> を透過的にできません。これは、<entity> がユニオンと同じサイズでないためです。
1220 : <type> を透過的にできません。これは、ユニオンと同じサイズでない <type> 型のフィールドがあるためです。
1221 : 透過的にできるのはパラメータのみです
1222 : <entity> 属性はローカル変数には適用されません
1224 : 属性は関数定義には使用できません
1225 : ローカルラベルの宣言はステートメント式の先頭のみに表示される必要があります
1226 : case range の 2 番目の定数は最初の定数より大きくなければなりません
1227 : asm 名は関数定義では使用できません
1228 : asm 名は typedef では無視されます
1229 : 不明のレジスタ名 "<entity>"
1230 : 修飾子文字 '<entity>' は asm オペランドでは無視されます
1231 : 不明の asm 制約条件修飾子 '<entity>'
1232 : 不明の asm 制約条件文字 '<entity>'
1233 : asm オペランドに制約条件文字がありません
1234 : asm 出力オペランドには、'=' または '+' のいずれかの修飾子を含める必要があります
1235 : asm 入力オペランドに、'=' または '+' 修飾子を含めることはできません
1236 : asm ステートメントに対するオペランドが多すぎます(最大値は 30。'+' 修飾子は暗黙的なオペランドを追加します)
1237 : asm ステートメントにコロンが多すぎます
1238 : レジスタ "<entity>" が 2 回以上使用されています
1239 : レジスタ "<entity>" が使用され、かつ上書きされています
1240 : レジスタ "<entity>" が複数回上書きされています
1241 : レジスタ "<entity>" には一定の目的がありますが、asm ステートメントでは使用できません
1242 : レジスタ "<entity>" には一定の目的がありますが、asm ステートメントでは上書きできません
1243 : 空の上書きリストは完全に省略する必要があります
1244 : asm オペランドが期待されます
1245 : 上書きするレジスタが期待されます
1246 : "format" 属性が、変数引数を持たない <entity> に適用されました
1247 : 最初の代入引数は最初の変数引数ではありません
1248 : フォーマット引数のインデックスがパラメータの数より大きくなっています
1249 : フォーマット引数は文字列型ではありません
1250 : 構文のあいまいさをなくすために使用されている "template" キーワードは、テンプレート内でのみ使用できます
1253 : 属性は非関数型 <type> には適用されません
1254 : void または関数型へのポインタに対する演算
1255 : 記憶クラスは auto またはレジスタでなければなりません
1256 : <type> は、省略記号パラメータを介して渡されると、<type> に促進されます。代わりに後者の型を使用して下さい。
1257 : <entity> はベースクラスメンバではありません
1262 : 符号化された名前が長すぎます
1263 : オフセットはハーフワード境界で整列させる必要があります
1264 : オフセットはダブルワード境界で整列させる必要があります
1265 : 浮動小数点型への変換または浮動小数点型からの変換は、--fpu=none では実行できません
1266 : オペランドは定数式でなければなりません
1267 : 暗黙の物理レジスタ <entity> は変数として定義する必要があります
1268 : 宣言は不明のエンティティ <entity> にエイリアスされています
1269 : 宣言はそのエリアス <entity> と一致しません
1270 : エイリアスとして宣言されたエンティティには定義を含めることができません
1271 : 可変長配列フィールド型は、長さがゼロの配列フィールド型として処理されます
1272 : 左辺値に対する非標準キャストはサポートされていません
1273 : 認識されないフラグ名
1274 : void 戻り値型は修飾できません
1275 : auto 指定子はここでは無視されます(標準 C/C++ では無効)
1276 : packed 属性のないアライメントの縮小は無視されます
1277 : <entity> に対応するメンバテンプレートは、別の変換単位で別の種類のテンプレートとして宣言されています
1278 : 余分なイニシャライザは無視されます
1279 : va_start は省略記号パラメータを含む関数のみに表示できます
1282 : 変数 <entity> はレジスタ範囲では使用できません
1283 : ここでは物理レジスタ名が必要です
1284 : ここにレジスタ範囲を指定することはできません
1285 : 暗黙の物理レジスタ <entity> が定義されていません
1286 : LDRD/STRD 命令は展開されます
インラインアセンブラで LDRD および STRD 命令が使用されると、これらはコンパイラによって 2 つの LDR または STR 命令に展開されてから、コンパイラの最適化ステージに渡されます。
最適化ステージでは、通常、2 つの LDR または STR 命令を 1 つの LDRD または STRD 命令に結合し直しますが、場合によっては、LDRD または STRD が使用されないこともあります。
1287 : LDM/STM 命令は展開されるかもしれません
インラインアセンブリコードの LDM および STM 命令は、コンパイラによって複数の LDR または STR 命令に展開されてから、コンパイラの最適化ステージに渡されます。
最適化ステージでは、通常、LDR または STR 命令を LDM または STM 命令に結合し直しますが、場合によっては、単一の LDM または STM が使用されないこともあります。
1288 : 名前の競合のために、暗黙の ARM レジスタ <entity> が定義されませんでした
1289 : ステートメント式はブロックスコープでのみ使用できます
1291 : asm 名は非レジスタ自動変数で無視されます
1292 : inline 関数はエイリアスとしても宣言されます。定義は無視されます。
1293 : 条件による代入
ブール値が必要なコンテキスト (ifwhilefor の制御式)や条件式の第 1 オペランドで、式に次のいずれかが含まれています。
  • ビット単位否定演算子(~)。論理否定演算子(!)を使う必要があったと考えられます。
  • 代入演算子(=)。等価演算子(==)の入力間違いだと考えられます。以下に例を示します。
    int main(void)  {    int a,b;    if (a=b);  }
    
どちらの場合も、演算子が意図したものである場合は、0 との明示的な比較を追加することにより、警告を非表示にできます。
                  
この警告は、--diag_suppress 1293 オプションを使用すると、非表示にできます。
1294 : 古いスタイルの関数 <entity>
コンパイラは、古いスタイルの関数宣言も、新しいスタイルの関数宣言も受容します。次の例でこれらの違いを示します。
// 新しいスタイル  int add2(int a, int b)  {    return a+b;  }  // 古いスタイル  int oldadd2(a,b)  int a;  int b;  {    return a+b;  }
古いスタイルの関数を C モードでコンパイルすると、次のメッセージが生成されます。
警告:#1294-D:古いスタイルの関数 oldadd2
1295 : 廃止される予定の宣言 <entity> - arg 型を指定
通常、この警告は、ANSI C モードで引数型のない宣言があった場合に発生します。ANSI C では、このような宣言は廃止される予定です。ただし、古いコードを移植する場合など、--diag_suppress 1295 オプションを指定して、この警告を非表示にした方が便利な場合もあります。
C++ では、
void foo(); 
が次の意味になります。
void foo(void); 
警告は生成されません。
1296 : 拡張定数イニシャライザが使用されています
定数イニシャライザとして使用されている式が移植できない可能性があります。
このメッセージは、ANSI C の厳密な規則に従っていない定数イニシャライザがあることを警告しています。
この問題を解決するには、ANSI に準拠するようにコードを記述し直すことです。
次のサンプルでは、この警告を生成するコードを表示し、ANSI C準拠のコードで同じ目標を達成する潜在的な代替案を提案します。
--diag_suppress 1296 でコンパイルすると、この警告を非表示にできます。
サンプル 1:
このコードは、C 標準が定数式の整数にポインタのキャストを許可しないため、x および y がグローバル変数または静的ローカル変数である静的オブジェクトの場合は、警告 1296 を生成します。
int x;
int y = (int) &x;
ANSI C では静的オブジェクトのイニシャライザが定数式である必要があります。(int) & x は定数式とは見なされません。
アドレスは算術演算型ではないので、この C コードのサンプルを ANSI C では使用できないことに注意して下さい。残念ながら、通常、その他のコンパイラではこれは ANSI 非対応で、レガシーコードを ARM に移植すると問題が生じる可能性があります。ARM コンパイラがエラーではなく警告を発するのはこれが理由です。
ANSI C 準拠の代替方法では、yx のポインタとなるようにコードを次のように記述し直します。
int x;
int* y = &x;
サンプル 2:
--c90 スイッチでコンパイルされたこのコードは、警告 1296 を生成します。
const int foo_table[] = { (int)"foo", 0, 1, 2}; 
ANSI C 準拠の代替方法では、次のようにコードを記述し直します。
const char* foo_table[] = { "foo", 0, (char*)1, (char*)2};
サンプル 3:
このコードは、C 標準が定数式の長整数にポインタのキャストを許可しないため、警告 1296 を生成します。
char value;
long array[] = {
    (long)&value,
    (long)"string"
};
ANSI C 準拠の代替方法では、ポインタを使用するためにコードを次のように記述し直します。
char value;
char *array[] = {
    (char*)&value,
    (char*)"string"
};
ポインタへのポインタのキャストは C 言語で使用できるため、この解決方法は有効です。
1297 : 複数のインクルードに対してヘッダファイルが保護されていません
この警告は、保護されていないヘッダファイルがインクルードされた場合に発生します。
保護されていないヘッダファイルとは、次のような宣言内にラップされていないヘッダファイルのことです。
#ifdef foo_h 
#define foo_h 
/* body of include file */ 
#endif 
この警告はデフォルトではオフになっています。次のオプションを使って有効にできます。
--diag_warning 1297
1298 : ヘッダファイルは '<entity>' によって保護されていますが、これを #define はしていません
例:
#ifndef MYHEADER_H 
//#define MYHEADER_H 
#endif 
このコードを修正するには、コメントのスラッシュ(//)を削除します。この警告はデフォルトではオフになっています。次のオプションを使って有効にできます。
--diag_warning 1298
1299 : メンバおよびベースクラスは宣言の順序で初期化されません。メンバ初期化リスト順ではありません。
1300 : <entity> は暗黙の仮想を継承します
この警告は、派生クラスの非仮想メンバ関数が親クラスの仮想メンバを隠蔽する場合に発生します。以下に例を示します。
struct Base { virtual void f(); }; struct Derived :Base { void f(); };
次のようなメッセージが表示されます。
警告:#1300-D:f inherits implicit virtual struct Derived :Base { void f(); };                              ^
派生クラスで virtual キーワードを追加すると、この警告が生成されないようにすることができます。C++ では、--diag_suppress 1300 オプションを指定すると、暗黙の仮想の警告が非表示になります。
1301 : 構造体 <entity> に挿入されるパディング
構造体のメンバを正しく整列させるために、メンバ間にいくつかのパディングが挿入されました。この警告はデフォルトでオフになっていますが、--diag_warning 1301 または --remarks を使って、表示されるようにすることができます。
以下に例を示します。
struct X {   char x;   int y; }
次のようなメッセージが表示されます。
警告:#1301-D:構造体 X に挿入されるパディング
コンパイラは、struct の末尾または複数の struct の間に追加されたパディングについて警告を生成することもできます。メッセージ番号 2530 を参照して下さい。
1302 : 型はレジスタで返すには大きすぎます - __value_in_regs は無視されます
1303 : --force_new_nothrow の使用:"throw()" を追加
1304 : operator new に例外の指定がありません
1305 : --force_new_nothrow の使用:"(::std::nothrow)" を追加
1307 : 浮動小数点引数は、-fpu=none では使用できません
1308 : ベースクラス <type>(__packed クラス <type>)は __packed でなければなりません
1310 : 共有ブロックサイズが前に指定されたサイズと一致しません
1311 : 括弧で囲まれた式は、配列次元ではなくブロックサイズの指定と見なされます
1312 : 共有配列のブロックサイズはゼロより大きくする必要があります
1313 : 複数のブロックサイズは指定できません
1314 : strict または relaxed には shared が必要です
1316 : 指定されたブロックサイズは <entity> の最大値を超えています
1317 : shared を返す関数は使用できません
1320 : 構造体またはユニオン内で共有型は使用できません
1321 : パラメータを共有型にすることはできません
1323 : 共有変数は static または extern でなければなりません
1327 : アフィニティ式は、共有型であるか、共有型へのポインタでなければなりません
1328 : アフィニティは(共有型へのポインタではなく)共有型です
1329 : shared void* 型は、等についてのみ比較できます
1331 : 入力行内の null(ゼロ)文字は無視されます
1332 : 文字列または文字定数に null(ゼロ)文字が含まれています
1333 : ヘッダ名に null(ゼロ)文字が含まれています
1334 : for イニシャライザ内の宣言は、それを囲むスコープの宣言を非表示にします
1335 : 非表示にされる宣言は <entity> です
1336 : <entity> のプロトタイプ宣言は、この非プロトタイプ再宣言の後で無視されます
1338 : <entity> に外部 C リンケージを含める必要があります
1339 : 変数宣言は for イニシャライザの宣言を非表示にします
1340 : typedef <entity> は elaborated 型指定子では使用できません
1341 : ゼロ定数の呼び出しは無視されます
1342 : パラメータ <entity> は関数トライブロックの catch 節では再宣言できません
1343 : <entity> の最初の明示的な特殊化は、テンプレートを含むネームスペースで宣言する必要があります
1345 : "template" の後には識別子が必要です
1347 : レイアウト修飾子は shared へのポインタを修飾できません
1348 : レイアウト修飾子は不完全な配列を修飾できません
1349 : <entity> の宣言はハンドラパラメータを非表示にします
1350 : 配列型への非標準キャストは無視されます
1351 : このプラグマは _Pragma 演算子では使用できません(#pragma ディレクティブを使用する必要があります)
1352 : フィールドはベースクラスの末端パディングを使用します
1353 : GNU C++ コンパイラはビットフィールドパディングを使用できます
1354 : メモリマッピングがプリコンパイルヘッダファイル <entity> と競合しています
1355 : 抽象クラス <type> には仮想デストラクタが含まれていないので、このクラスへのポインタに delete を呼び出すと、動作は未定義になります
1356 : asm 名は非スタティックメンバ宣言では使用できません
1357 : <entity> のスタティックな初期化を行うと(<entity> のアドレスを使用)、リンク失敗 <option> が発生する場合があります
エラー番号 1359 を参照して下さい。
1358 : extern const <entity> のスタティックな初期化(<entity> のアドレスを使用)は、ROPI に対して低くすることができません
1359 : <entity> のスタティックな初期化を行うと(<entity> のアドレスを使用)、リンク失敗 <option> が発生する場合があります
警告 1357 と 1359 は、 位置非依存(PI)ではなく、その後のリンク手順の失敗の原因となるコード構造を強調します。
--apcs /ropi で次のコードをコンパイルした場合、
char *str = "test"; /* グローバルポインタ */
次のようなメッセージが表示されます。
警告:#1357-D:変数 "str" のスタティックな初期化を行うと(文字列リテラルのアドレスを使用)、リンク失敗 --ropi が発生する場合があります
グローバルポインタ str は ..constdata セクションの char 文字列 test のアドレスに初期化する必要がありますが、PI システムでは絶対アドレスを使用できないためです。
--apcs /rwpi で次のコードをコンパイルした場合、
int bar; int *foo = &bar; /* グローバルポインタ */
次のようなメッセージが表示されます。
警告:#1359-D:変数 "foo" のスタティックな初期化を行うと(bar のアドレスを使用)、リンク失敗 --rwpi が発生する場合があります
グローバルポインタ foo.data セクションの bar のアドレスに初期化する必要がありますが、PI システムでは絶対アドレスを使用できないためです。
以下の解決方法があります。
  • グローバルポインタを使用しないようにコードを変更します。例えば、代わりにグローバル配列またはローカルポインタを使用できます。
  • 次のように、初期化を実行時に行います。
    int bar; int *foo;
    
    次に、関数内で foo = &bar; と設定するコードを書きます。これは、静的にデータを初期化する場合とは異なり、コードを生成するときにコンパイラが ROPI/RWPI の制約を回避するためのスコープを持てるようにするためです。
リンカのエラー L6248E も参照して下さい。
1360 : extern const <entity> のスタティックな初期化(<entity> のアドレスを使用)は、RWPI に対して低くすることができません
例えば、--apcs /rwpi で次のコードをコンパイルした場合、
extern int y;
int* const x = &y;
int* foo()
{
  return(x);
}
y に接頭文字 extern を付けると、変数 xy の直接アドレスオフセットをコンパイラが定義できなくなるため、警告が生成されます。
1361 : <entity> が "deprecated" と宣言されました
1362 : 認識されないフォーマット関数型 <entity> は無視されます
1363 : ベースクラス <entity> は、ベースクラス <entity> の末端パディングを使用します
1366 : この無名共用体/構造体フィールドは <entity> によって非表示にされます
1367 : 無効なエラー番号
1368 : 無効なエラータグ
1369 : エラー番号またはエラータグが期待されます
1370 : クラスのサイズは末端パディングの影響を受けます
1371 : ラベルは関数定義内でのみ参照できます
1372 : ステートメント式内に制御を転送することはできません
1374 : ステートメント式の外へ制御を転送することはできません
1375 : 非 POD クラス定義は、ステートメント式内では行うことができません
1376 : 破棄可能なエンティティは、ステートメント式内では使用できません
1377 : ダイナミックに初期化されたローカルスタティック変数は、ステートメント式内では使用できません
1378 : 可変長配列はステートメント式内では使用できません
1379 : ステートメント式はデフォルト引数内では使用できません
1382 : 関数へのポインタとデータへのポインタ間における非標準の変換です
1383 : インタフェース型には仮想ベースクラスを含めることができません
1384 : インタフェース型は "private" または "protected" を指定できません
1385 : インタフェース型は他のインタフェース型からのみ派生できます
1386 : <type> はインタフェース型です
1387 : インタフェース型には typedef メンバを含めることができません
1388 : インタフェース型にはユーザが宣言したコンストラクタやデスタラクタを含めることができません
1389 : インタフェース型にはユーザが宣言したメンバ演算子を含めることができません
1390 : インタフェース型は関数内では宣言できません
1391 : インタフェーステンプレートを宣言できません
1392 : インタフェース型にはデータメンバを含めることができません
1393 : インタフェース型には friend 宣言を含めることができません
1394 : インタフェース型にはネストされたクラスを含めることができません
1395 : インタフェース型をネストされたクラス型にすることはできません
1396 : インタフェース型にはメンバテンプレートを含めることができません
1397 : インタフェース型にはスタティックメンバ関数を含めることができません
1398 : このプラグマは _pragma 演算子では使用できません(#pragma ディレクティブを使用する必要があります)
1399 : 修飾子は <type> のベースクラスでなければなりません
1400 : 宣言は、指定されたベースクラスの純仮想メンバ関数に対応している必要があります
1401 : <type> のサイズまたは複雑さが原因で、内部演算で整数のオーバフローが発生しました
1402 : 内部演算で整数のオーバーフローが発生しました
1404 : int、long、またはポインタ型が 64 ビットである環境でコンパイルした場合、潜在的に変換がナローイングされます
1405 : プラグマパックの現在値は <entity> です
1406 : プラグマパックの引数は無視されます
1407 : アライメント指定子の値が無効です
1408 : 整数リテラルが期待されます
1409 : 前の __declspec(align(...)) は無視されます
1410 : <entity> 属性パラメータの引数値が期待されます
1411 : <entity> 属性パラメータの引数値が無効です
1412 : <entity> 属性パラメータのブール値が期待されます
1413 : 位置引数を属性内の名前付き引数の後に置くことはできません
1414 : 属性 <filename> には、<filename> というパラメータがありません
1415 : <entity> 属性の引数リストが期待されます
1416 : , または "]" が期待されます
1417 : 属性引数 <entity> には既に値が与えられています
1418 : 値を <entity> 属性に割り当てることはできません
1419 : throw 式を不完全型へのポインタにすることはできません
1420 : alignment-of 演算子は不完全型に適用されます
1421 : <entity> はスタンドアロン属性としてのみ使用できます
1422 : <entity> 属性はここでは使用できません
1423 : 認識されない属性 <entity>
1424 : 属性はここでは使用できません
1425 : <entity> 属性パラメータの引数値が無効です
1426 : 属性引数が多すぎます
1427 : アクセスできないベースクラス <type> からは変換できません
1428 : オプション "export" では個別のテンプレート署名が必要です
1429 : 文字の種類が異なる文字列リテラルは連結できません
1430 : GNU レイアウトバグは、仮想ベース <entity> を <entity> オブジェクト境界の外に配置するので、エミュレートされません
1431 : 仮想ベース <entity> は、<entity> オブジェクト境界の外に配置されます
1432 : ネームスペースメンバ宣言に非標準の修飾名があります
1433 : アライメントの縮小は無視されます
1434 : const 修飾子は無視されます
1436 : __breakpoint 引数は整数コンパイル時定数でなければなりません
1437 : __breakpoint 引数は、ARM を対象としたコンパイル時には 0 ~ 65535 の範囲内になければなりません
1438 : __breakpoint 引数は、Thumb を対象としたコンパイル時には 0 ~ 255 の範囲内になければなりません
1439 : BKPT 命令は、ターゲットアーキテクチャ/プロセッサではサポートされていません
1440 : オーバーサイズのビットフィールドレイアウトは変更されます -- "<entity>:0;" を先頭に追加することを検討して下さい
1441 : 左辺値に対する非標準キャスト
C の仕様では、「An assignment operator shall have a modifiable lvalue as its left operand」(代入演算子は左オペランドとして修正可能な左辺値を持つべきである)および「a cast does not yield an lvalue」(キャストは左辺値を生成しない)と記載されています。
1442 : エクスポートされた派生クラスでポリモーフィックベースクラスを使用するには、エクスポートする必要があります
1443 : 仮想派生クラスから継承されたポリモーフィックベースクラスはエクスポートする必要があります
1444 : 仮想派生クラスから継承されたポリモーフィックベースクラスを使用する場合、全仮想関数をエクスポートする必要があります
1446 : 非 POD クラス型が省略記号で渡されました
1447 : 非 POD クラス型は、va_arg によってフェッチすることはできません
ISO C++ 標準では、可変個引数関数の必須でない引数は Plain Old Data(POD)型でなければならないと定義されています。例えば、構造体やクラスではなく、intchar 型である必要があります。
エラーや警告が生成されないようにするには、代わりにクラス構造体のアドレスを指定します。
1448 : 固定小数点リテラルでは、接尾文字 'u' または 'U' の後に 'l' または 'L' を続ける必要があります
1450 : 整数オペランドを使用すると、固定小数点のオーバーフローが発生する可能性があります
1451 : 固定小数点定数が範囲外です
1452 : 固定小数点値は正確に表現できません
1453 : 定数が long long 型に対して大きすぎます。符号なしの long long 型が与えられました(非標準)
1454 : レイアウト修飾子は shared void へのポインタを修飾できません
1456 : 強い using-directive はネームスペーススコープでのみ表示されます
1457 : <entity> は非テンプレート関数を宣言します。テンプレートインスタンスを参照するには &lt;&gt; を追加して下さい
1458 : この操作を実行すると、固定小数点のオーバーフローが発生する可能性があります
1459 : 式は、整数型、列挙型、または固定小数点型である必要があります
1460 : 式は、整数型または固定小数点型である必要があります
1461 : noreturn で宣言された関数に戻り値があります
1462 : 前の宣言と競合するため、asm 名が無視されました
1463 : クラスメンバ typedef は、再宣言されない可能性があります
1464 : テンポラリのアドレスを取得しています
1465 : 定義でないクラス宣言の属性は無視されました
1466 : 固定小数点値が暗黙に浮動小数点型に変換されました
1467 : 固定小数点型には分類がありません
1468 : テンプレートパラメータを固定小数点型にすることはできません
1469 : 16 進数の浮動小数点定数は使用できません
1471 : 浮動小数点値が必要な固定小数点型に収まりません
1472 : 値を固定小数点値に正確に変換できません
1473 : 固定小数点変換の結果、符号が変更されました
1474 : 整数値が必要な固定小数点型に収まりません
1475 : 固定小数点演算の結果が範囲外です
1481 : 固定小数点値が必要な浮動小数点型に収まりません
1482 : 固定小数点値が必要な整数型に収まりません
1483 : 値が必要な固定小数点型に収まりません
1485 : 名前付きレジスタの記憶クラスはここで使用できません
1486 : <entity> が、互換性のない名前付きレジスタの記憶クラスで再宣言されました
1487 : エイリアスの変数に対して名前付きレジスタの記憶クラスは指定できません
1488 : 名前付きレジスタの記憶域指定子は既に使用中です
1492 : 行 <entity> の定義済みマクロエントリが無効です:<reason>
1493 : マクロモード名 <entity> が無効です
1494 : 定義済みマクロ <entity> の再定義に互換性がありません
1495 : <entity> の再定義に、名前付きレジスタの記憶クラスがありません
1496 : 名前付きレジスタが変数の型に対して小さすぎます
1497 : 名前付きレジスタの記憶クラスでは配列を定義できません
1498 : 列挙型への const_cast は標準ではありません
1500 : __svc パラメータ <entity> が、Thumb SVC 命令の許可された範囲(0 ~ 0xff)外です
1501 : __svc または __svc_indirect 関数の引数が多すぎます
1502 : __svc または __svc_indirect 関数の引数は整数型である必要があります
1503 : __svc_indirect 関数には引数が必要です
1504 : __svc_indirect 関数の第 1 引数は整数型である必要があります
1505 : __svc または __svc_indirect 関数の結果は整数レジスタで返す必要があります
1506 : ソースファイル <entity> のフォーマットが不正です
1507 : <entity> ファイルの書き込み中にエラーが発生しました:<reason>
1508 : 関数修飾子のみで識別される関数は多重定義できません
1509 : 関数修飾子 <entity> は仮想メンバ関数には使用できません
1510 : オーバーライドされた仮想関数 <entity> の関数 "__attribute__((__<entity>__))" は、オーバーライドする関数内でも必要です
1511 : 関数修飾子 <entity> は、オーバーライドされた仮想関数 <entity> 内で同一ではありません
1512 : オーバーライドされた仮想関数 <entity> の関数修飾子 <entity> は、オーバーライドする関数内でも必要です
1514 : 境界が指定されていない配列では、空のイニシャライザは無効です
1515 : 関数は不完全なクラス型 <type> を返します
1516 : <entity> は既に初期化されています。クラス外のイニシャライザは無視されます
1517 : 宣言は <entity> を非表示にします
1519 : 固定/浮動小数点定数の接尾文字が無効です
1522 : <entity> には対応するメンバ演算子 delete<entity>(割り当てられたオブジェクトの初期化中に例外がスローされた場合に呼び出されます)がありません
1523 : スレッドローカル変数の宣言には "dllimport" または "dllexport" を使用できません
1525 : イニシャライザは、フレキシブル配列メンバの要素が自明でないデストラクタである場合は指定できません
1526 : イニシャライザは、間接的なフレキシブル配列メンバに対して指定できません
1528 : 括弧で囲まれたイニシャライザの後の変数の属性は無視されます
1529 : このキャストの結果は左辺値として使用できません
1530 : 符号なしの固定小数点値の否定
1531 : この演算子をここで使用することはできません。括弧を使用してください
1532 : フレキシブル配列メンバのイニシャライザは定数である必要があります
1533 : レジスタ名はレジスタ変数に対してのみ使用できます
1534 : 名前付きレジスタ変数を void 型にすることはできません
1535 : この宣言では __declspec 修飾子は無効です
1536 : パラメータにリンクスコープの指定子は使用できません
1537 : 複数のリンクスコープ指定子
1538 : リンクスコープ指定子は、外部リンケージがある関数と変数でのみ表示されます
1539 : 再宣言によってリンクスコープを弱めることはできません
1540 : リンクスコープの指定子はこの宣言には使用できません
1541 : グローバルスコープ宣言に非標準の修飾名があります
1542 : 64 ビットの整数型が、少ないビット数の整数型に暗黙に変換されます(移植時に問題が発生する可能性があります)
1543 : 64 ビットの整数型が、少ないビット数の整数型に明示的に変換されます(移植時に問題が発生する可能性があります)
1544 : ポインタが同じサイズの整数型に変換されます(移植時に問題が発生する可能性があります)
1547 : スレッドローカルストレージを使用できるのは static または extern 変数だけです
1548 : 複数のスレッドローカルストレージ指定子です
1549 : 仮想 <entity> は定義されませんでした(無名のネームスペースのメンバであるため、別の場所でも定義できません)
1550 : ソース行内の文字/文字列リテラルやコメントの外部にキャリッジリターン文字があります
1551 : 式は固定小数点型である必要があります
1552 : 無効なアクセス指定子は無視されます
1553 : ポインタがブール型に変換されました
1554 : メンバへのポインタがブール型に変換されました
1555 : 記憶域指定子は無視されます
1556 : dllexport と dllimport は、クラステンプレートでは無視されます
1557 : ベースクラスの dllexport/dllimport 指定が、派生クラスの dllexport/dllimport 指定と異なります
1558 : 再宣言では <entity> に dllexport/dllimport を追加できません
このメッセージが抑制されている場合の動作は、dllexport または dllimport が省略されたときと同様です。以下に例を示します。
void f(void);
__declspec(dllimport) void f(void) { } /* suppress treats as
                                          void f(void) { } */
1559 : dllexport/dllimport が <entity> と矛盾しています。dllexport が指定されていると見なします
これは、コンパイラが dllimport および dllexport の両方としてマークされていることを示します。この場合、コンパイラはエンティティが dllexport であると仮定します。
次のサンプルでは、関数定義 foo() は宣言__declspec(dllimport) void foo() と競合しています。この状況では、コンパイラは dllexport が指定されたときと同じ処理をします。
---test.cpp--- __declspec(dllimport) void foo(); void foo() { } ------------
armcc -c test.cpp "test.cpp", line 3:警告:#1559-D:dllexport/dllimport conflict with "foo" (declared at line 1); dllexport assumed fromelf –s test.o ...# Symbol Name   Value       Bind Sec Type Vis Size ==================================================================== 6 _Z3foov       0x00000000  Gb   1   Code Pr  0x4 ...
警告メッセージとシンボル可視性は、関数 foo() dllexport であると仮定されていることを示します。
1560 : dllimport エンティティを定義できません
1561 : dllexport/dllimport では外部リンケージが必要です
1562 : dllexport/dllimport で宣言されているクラスのメンバを、これらの指定子を付けて宣言することはできません
1563 : DLL インタフェースを持つクラス内で、DLL インタフェースを持たないクラス型のフィールドが使用されています
1564 : 括弧囲みのメンバ宣言は規格外です
1565 : 結合行内のバックスラッシュと改行間のホワイトスペースは無視されます
1566 : dllexport/dllimport が <entity> と矛盾しています。dllexport/dllimport を削除します
1567 : 匿名メンバクラスのメンバが無効です -- クラス <type> に、許可されていないメンバ関数が含まれています
1568 : 規格外の reinterpret_cast
1569 : 位置を示すフォーマット指定子には、ゼロを指定できません
1570 : ローカルクラスでは、関数内部の可変長配列を参照することはできません
1571 : メンバ <entity> には、既に明示的な dllexport/dllimport 指定子が指定されています
1572 : 関数の戻り値は、可変長配列型にはできません
1573 : 型 <type> のメンバへのポインタは、可変長配列型にはできません
1574 : ステートメント式の結果は、可変長配列を含む型にはできません
1575 : インラインアセンブラでは、変換を伴うロード/ストアは使用できません。組み込みアセンブラまたはアウトオブラインアセンブラを使用してください。
1576 : インラインアセンブラでは、フラグ設定乗算命令は使用できません。組み込みアセンブラまたはアウトオブラインアセンブラを使用してください。
1577 : インラインアセンブラでは、定数オペランドを含むフラグ設定 MOV/MVN 命令は使用できません。組み込みアセンブラまたはアウトオブラインアセンブラを使用してください。
1578 : asm 名は自動変数では無視されます
1593 : 最適化できません:符号なしインデックスが使用されているために最適化できません
1594 : 最適化できません:完全な最適化を行うためには、ループのパラメータを整数型にする必要があります
1604 : 最適化できません:この関数を参照しているため、最適化できません
1613 : 最適化できません:多重ストアの競合
1617 : 最適化できません:ループが複雑すぎます
1621 : 最適化:デッドコードを削除しました
1624 : 最適化できません:重複する条件が多すぎるため、効率的に変換できません
1629 : 最適化できません:繰り返し回数が少なすぎて配列を最適化できません
1636 : 最適化できません:変数の使用方法が複雑すぎます
1637 : 不明なプラグマ - 無視します
1638 : スカラテンポラリの最終値を判断できません
1639 : 可能であれば、nolstval ディレクティブを使用してください
1641 : 最適化できません:データの依存関係が多すぎます
1656 : プラグマの構文に問題があります
1661 : 最適化できません:逆方向の転送は最適化できません
1662 : 最適化できません:促進するスカラの最終値が必要です
1663 : 最適化できません:ループ外への分岐があるため、変換できません
1670 : 最適化:if ループが for ループに変換されました
1676 : 最適化できません:このステートメントが原因で、ループを最適化できません
1679 : 最適化:ループがベクタ化されました
1687 : 最適化できません:縮小関数が抑制されました - 結合変換が必要です
1690 : 最適化できません:明示的なベクタ演算に対するサポートされないデータ型
1691 : 最適化:ループが前のループと結合されました
1714 : 最適化できません:外側のループで、内側のループの終了条件を指定しています
1730 : このループではインデックスは使用されていません
1742 : 最適化できません:配列要素のフィードバック(等価比較された配列)
1750 : 最適化:ループが再度ロールされました
1759 : 最適化できません:非ユニットストライドが原因で、ベクタ最適化できません
1771 : 最適化できません:volatile 項目が使用されているため、最適化できません
1801 : 最適化:関数が展開されました
1824 : 最適化できません:変換に見合うだけのベクタ演算がありません
1885 : 最適化できません:ループ範囲が配列の次元を超えています
1861 : 最適化できません:配列に対してこの格納処理を行っているため、外部のループを最適化できません
1866 : 最適化できません:非整数の添字があります
1894 : 最適化:依存関係をなくすために、ループから繰り返しを取り除きました
1896 : 最適化:論理節を単純化しました
1947 : 最適化できません:このデータ型と演算の組み合わせを変換できません
1978 : 最適化できません:ユーザ選択ループを最適化できません
1979 : 最適化できません:この演算が原因で、ループを変換できません
1987 : 最適化:ループが切り替えられました
1988 : 最適化:代替コードが生成されます
1997 : 最適化:定数長のループがアンロールされました
2091 : 最適化:ループがアンロールされました
2168 : 最適化:外側のループを内側のループの中に移動しました
2170 : 最適化:不変式を外側のループの外に移動しました
2189 : 最適化:ループをアンロールおよびロテートしました
2190 : 最適化:ループをアンロールおよび最適化しました
2191 : 最適化:負荷の一部をループの先頭に移動しました
2218 : イディオムが検出され、最適化されました
2300 : 最適化できない可能性:あるループパスから別のループパスへのスカラ値のフィードバック。行 <entity> で競合。ループインデックスは <entity>(<filename>、<entity>)
2301 : 最適化できない可能性:あるループパスから別のループパスへのスカラ値のフィードバック。行 <entity> で競合。ループインデックスは <entity>(<filename>)
2302 : 最適化できない可能性:あるループパスから別のループパスへのスカラ値のフィードバック。行 <entity> で競合。(<entity>,<filename>)
2303 : 最適化できない可能性:あるループパスから別のループパスへのスカラ値のフィードバック。行 <entity> で競合。(<entity>)
2304 : 最適化できない可能性:ループの繰り返し間で多重ストアの競合の可能性があります。行 <entity> で競合。ループインデックスは <entity>(<filename>、<entity>)
2305 : 最適化できない可能性:ループの繰り返し間で多重ストアの競合の可能性があります。行 <entity> で競合。ループインデックスは <entity>(<filename>)
2306 : 最適化できない可能性:ループの繰り返し間で多重ストアの競合の可能性があります。行 <entity> で競合。(<entity>,<filename>)
2307 : 最適化できない可能性:ループの繰り返し間で多重ストアの競合の可能性があります。行 <entity> で競合。(<entity>)
2308 : 最適化できない可能性:ループの繰り返し間でフィードバックの競合の可能性があります。行 <entity> で競合。ループインデックスは <entity>(<filename>、<entity>)
2309 : 最適化できない可能性:ループの繰り返し間でフィードバックの競合の可能性があります。行 <entity> で競合。ループインデックスは <entity>(<filename>)
2310 : 最適化できない可能性:ループの繰り返し間でフィードバックの競合の可能性があります。行 <entity> で競合。(<entity>,<filename>)
2311 : 最適化できない可能性:ループの繰り返し間でフィードバックの競合の可能性があります。行 <entity> で競合。(<entity>)
2312 : 最適化できません:ポインタエイリアスの可能性 - 可能であれば制限修飾子を使用してください。行 <entity> で競合。ループインデックスは <entity>(<filename>、<entity>)
2313 : 最適化できません:ポインタエイリアスの可能性 - 可能であれば制限修飾子を使用してください。行 <entity> で競合。ループインデックスは <entity>(<filename>)
2314 : 最適化できません:ポインタエイリアスの可能性 - 可能であれば制限修飾子を使用してください。行 <entity> で競合。(<entity>,<filename>)
2315 : 最適化できません:ポインタエイリアスの可能性 - 可能であれば制限修飾子を使用してください。行 <entity> で競合。(<entity>)
2351 : ループのネストが次のネストと結合されました
2438 : インラインできません:式内で void 関数が使用されています
2439 : インラインできません:識別子の宣言です
2442 : インラインできません:式から関数を削除できません
2516 : 高レベルの最適化が停止しました:ルーチン内にアセンブリコードがあります
2519 : このループの定数の繰り返し回数を特定できません
2524 : 対応する #pragma push がない #pragma pop
#pragma push#pragma pop は、現在のプラグマ状態を保存および復元します。
それぞれのポップはプッシュとペアになる必要があるで、エラーは次のコードに対して発生します。
#pragma push
;
#pragma pop
;
#pragma pop
2525 : 対応する #pragma pop がない #pragma push
#pragma push#pragma pop は、現在のプラグマ状態を保存および復元します。
pushpop とペアになっている必要があります。
2529 : 式は、<entity> ~ <entity> の範囲の整数定数である必要があります
2530 : 構造体 '<entity>' の末尾にパディングが追加されました
コンパイラは、struct の末尾または複数の struct の間に追加されたパディングについて警告を生成することもできます。この警告はデフォルトではオフになっています。--diag_warning 2530 または --remarks を使用すると、この警告を有効にできます。
以下に例を示します。
typedef struct { 
  int x; 
  char y; 
} A; 
typedef struct { 
  int p; 
  int q; 
} B; 
次のようなメッセージが表示されます。
Warning: #2530-D: padding added to end of struct 'anonymous' 
コンパイラは、struct 内に挿入されたパディングについて警告を生成することもできます。メッセージ番号 1301 を参照して下さい。
2531 : 無名のネームスペースのメンバに、dllimport/dllexport が適用されました
2533 : <entity> 属性は、外部リンケージがある関数と変数でのみ表示されます
2534 : strict モードは、グローバルネームスペースのエイリアスとしてネームスペースを扱う方法とは互換性がありません
2535 : マクロ拡張 "<entity>" <entity> で、
2537 : マクロ拡張 "<entity>" <entity><entity> で
2540 : 無効なシンボリックオペランド名 <entity>
2541 : シンボリック一致制約は最初の 10 オペランドのいずれかを参照する必要があります
2544 : スレッドローカル変数は動的に初期化できません
2546 : 一部の列挙値を列挙型のベースとなる整数型で表現できません
2547 : デフォルト引数は friend クラスのテンプレート宣言では使用できません
2548 : 複数の文字の文字リテラル(移植時に問題が発生する可能性があります)
2549 : クラス、構造体、または共用体型が期待されます
2550 : offsetof の 2 番目のオペランドはフィールドでなければなりません
2551 : offsetof の 2 番目のオペランドにビットフィールドは使用できません
2552 : offsetof は仮想ベースのメンバに適用できません
2553 : 非 POD 型への offsetof の適用は標準ではありません
2554 : メンバ関数の friend 宣言では、デフォルト引数は使用できません
2555 : 定義ではない friend 宣言では、デフォルト引数は使用できません
2556 : デフォルト引数を持つ friend として以前に宣言されている <entity> の再宣言はできません
2557 : <type> の無効な修飾子(ここで派生クラスは使用できません)
2558 : クラス <type> の定義の無効な修飾子
2560 : ワイド文字列リテラルは使用できません
2565 : <entity> のテンプレート引数リストはパラメータリストと一致していなければなりません
2566 : 不完全なクラス型は使用できません
2567 : 複素整数型はサポートされていません
2570 : <entity> が "deprecated (<entity>)" と宣言されました
2571 : <entity> の無効な再定義
2574 : <entity> の明示的な特殊化は、初めて使用(<entity>)する前に実行する必要があります
2575 : sealed クラスはベースクラスとして使用できません
2576 : クラス修飾子が重複しています
2577 : メンバ関数に "abstract" と "sealed" の両方の修飾子を指定することはできません
2578 : sealed メンバは純粋仮想にできません
2579 : 非仮想関数は、"abstract" または "sealed" を指定して宣言できません
2580 : override 修飾子を使用して宣言したメンバ関数は、ベースクラスのメンバをオーバーライドできません
2581 : sealed の <entity> をオーバーライドできません
2582 : <entity> がクラス修飾子 "abstract" を指定して宣言されました
2662 : 認識されない呼び出し規則 <entity>。次のいずれかを使用する必要があります:
2665 : 属性 <entity> はパラメータ宣言では使用できません
2666 : 列挙型のベースとなる型はブール以外の整数型である必要があります
2667 : 一部の列挙定数を <type> で表現できません
2668 : <entity> は現在のモードでは使用できません
2676 : #pragma start_map_region は現在有効です。プラグマは無視されます
2677 : <entity> はデストラクタの名前に使用できません(型の名前が必要です)
2678 : 非標準の空のワイド文字リテラルが L'\\0' として処理されました
2679 : ここに "typename" を指定することはできません
2680 : non-placement 演算子 delete は、仮想デストラクタを持つクラスで可視である必要があります
2681 : 名前のリンケージが <entity> の前の宣言と競合しています
2682 : エイリアスがエイリアスエンティティのサイクルを作成しています
2683 : 添字は定数でなければなりません
2684 : 特定のレジスタに割り当てられたスタティックな保存期間を持つ変数は、イニシャライザを使用して宣言できません
2685 : 特定のレジスタに割り当てられる変数は POD 型にできません
2686 : <entity> の定義済みの意味は破棄されました
2687 : 宣言によって組み込みの <entity> が隠蔽されます
2688 : 宣言によって組み込みの <entity> が再定義されます
2689 : ここではスタティックメンバ関数を使用できません
2690 : <entity> 属性は、内部リンケージがある関数と変数でのみ表示されます
2751 : ルーチンは "inline" でもあり "noinline" でもあります
2813 : IF 文の依存した文が空です
この注釈は、if 文に依存する文が含まれず、else 文が後に続かないことを示します。以下に例を示します。
if (x <= 0); // remark 2813 is generated here
{
    foo(x);
}
この注釈は、--diag_warning 2813 または --remarks を使用して有効にできます。--remarks オプションを使用する場合、--diag_suppress 2813 を使用してこの注釈を非表示にできます。
2815 : while 文内の依存した文が空です
この注釈は、while 文に依存する文が含まれないことを示します。以下に例を示します。
while (x != 0);
この注釈は、--diag_warning 2815 または --remarks を使用して有効にできます。--remarks オプションを使用する場合、--diag_suppress 2815 を使用してこの注釈を非表示にできます。
2902 : 認識されない Unicode ソースの種類です (UTF-8、UTF-16、UTF-16LE、UTF-16BE のいずれかである必要があります)
2903 : 16 進数値 <entity> を含む Unicode 文字が出力の前処理において表示されません
2917 : <entity> のファイル <entity> を開けません:
2918 : <entity> のファイル <entity> を開けません: <entity>
2934 : 変換によって "__restrict" 修飾子が削除されます
2935 : <entity> に対して、マップされたメモリを取得できません:<entity>
2936 : フレキシブル配列メンバを含む要素の配列は標準ではありません
2938 : <entity> の初期化は <entity> の初期化の前に行われます
C++ 標準において、メンバ変数はイニシャライザリストに記述されている順序ではなく、class で宣言されている順序で初期化されます。イニシャライザリストの順序が class で宣言されている順序と一致しない場合に、この警告が生成されます。この警告は、--diag_warning 2938 または --remarks を使用して有効にできます。
以下に例を示します。
class Foo {
    int x;
    char y;
public:
    Foo() : y(42), x(32) {}
};
次のようなメッセージが表示されます。
Warning: #2938-D: the initialization of member "Foo::x" will be done before that of member "Foo::y"
2939 : 継承の種類は C では使用できません
2940 : 継承の種類は、列挙指定子では無視されます
2941 : 修飾子は、列挙指定子では使用できません
2942 : 修飾子は、列挙指定子では無視されます
2943 : 識別子文字を Unicode で表現できません
2944 : ヘッダ名に、Unicode で表現できない文字が含まれています
2945 : <entity> は有効なロケール名ではありません
2946 : テンプレートパラメータでの void 型パラメータリストの宣言は非標準です
2949 : <entity> は変数ではありません
2960 : 無効なテンプレートディレクトリ:
2969 : 空白が後に続く "\" は行のスプライスではありません
2970 : この dynamic_cast は実行時の型情報がないと実行できませんが、この情報は無効になっています
コンパイラは、dynamic_cast がランタイム型チェックを実行する必要があるが --no_rtti オプションを使用してコンパイルすることで RTTI へのサポートが無効になっているときに、エラーを生成します。例えば、次のコードはこのエラーを発生します。
class Foo {
    virtual int foo() = 0;
};
class Bar {};
Bar *convert(Foo *x) {
    return dynamic_cast<Bar *>(x);
}
2971 : <entity> への変換があいまいであり、直接の基本が選択されています
2972 : 内部バッファが大きくなりすぎます
2973 : C++ 例外ハンドラが使用されましたが、例外処理のセマンティクスが指定されていません
2974 : 型修飾子がコンストラクタで無視されました
2981 : 明示的なテンプレート引数が無視されました
2983 : <entity> はクラス型ではありません
2984 : pointer-to-array 型に適用された "delete" は delete[] として扱われました
不正な delete 演算子が使用されるとこの警告が生成され、コンパイラによって自動的に修正されます。例えば、この警告は次のコードによって生成されます。
void f(char (*data)[10]) {
    delete data;
}
2985 : pointer-to-array 型に適用された "delete" は非標準であるため delete[] として扱われました
この警告にはメッセージ番号 2984 と同じ意味があります。コマンドラインで --strict を使用してコンパイルすると、2984 の代わりにこの警告が発生します。
2989 : 型修飾子は無視されます (潜在型は参照です)
2990 : <entity> はローカル型を使用して宣言されていますが、この変換単位で定義する必要があります
2991 : <entity> はリンケージのない型を使用して宣言されていますが、この変換単位で定義する必要があります
2997 : __builtin_va_arg_pack/__builtin_va_arg_pack_len は省略記号パラメータを持つインライン関数でのみ使用できます
2999 : C++ キーワードが必要です
3001 : オフセットが定数ではありません
3002 : 認識されない #pragma コメント型 <entity> です
3006 : #pragma コメントの文字列が無効です
3011 : <entity> のデフォルト引数は別の変換単位内の宣言と互換性がありません
3012 : <entity> のコンパイル中、<entity> のデフォルト引数が異なっていました
3014 : <entity> のイニシャライザが別の変換単位で異なります
3015 : <entity> のコンパイル中、<entity> のイニシャライザが異なっていました
3016 : テンプレート依存型への指定子は使用できません
3017 : 認識されない準拠の種類です
3018 : "on" または "off" が必要です
3019 : #pragma conform(forScope) のスタックが空です
3020 : 以前の #pragma conform(forScope) エントリが <entity> と一致しません
3021 : forScope の動作は非標準です
3022 : forScope の動作は標準です
3024 : 型修飾子はここでは無効です
3028 : 関数呼び出しには 1 つの引数が必要です
3029 : 関数呼び出しには実数の浮動小数点引数が必要です
3033 : "main" の最初のパラメータの <entity> が非標準です("int" が必要)
3034 : "main" のパラメータの個数が非標準です (0 または 2 個のパラメータが必要)
3035 : "main" の 2 番目のパラメータの <entity> が非標準です("char *[]" または "char ** が必要)
3039 : "packed" 属性は非 POD <entity> のクラスで無視されました
3040 : ファイル <entity> の削除中にエラーが発生しました:<entity>
3049 : SWP 命令はアーキテクチャ ARMv6 以上では廃止されます
3050 : FLDMX/FSTMX 命令は廃止される予定です
3051 : 命令は現在の命令セットでは予測不能です
3052 : MSB &lt; LSB を使用する命令は予測不可能です
3053 : 指定されたイミディエート値を使用する命令は予測不可能です
3054 : 指定された条件を使用する命令は予測不可能です
3055 : 命令は IT ブロック内で予測不可能です
3056 : 指定された特殊レジスタを持つ命令は予測不可能です
3057 : 指定された PSR マスクを使用する命令は予測不可能です
3058 : イミディエートは範囲 <entity> にありません
3059 : イミディエートは <entity> の倍数ではありません
3060 : 選択したターゲットには VFP がありません
3061 : 認識されない命令オペコードです
3062 : "<entity>" が期待されます
3063 : "<entity>" のフラグ文字が期待されます
3064 : MSR/MRS の特殊レジスタが期待されます
3065 : 特殊レジスタ名は廃止されます
3066 : 特殊レジスタフィールド指定子は廃止されます(代わりに "<entity>" を使用して下さい)
3067 : MRS ではフィールドを選択できません。直接 APSR、CPSR、または SPSR を使用してください
3068 : 条件コードが期待されます
3069 : これらのデータ型間での VCVT 変換は使用できません
3070 : デスティネーションオペランド型またはレジスタソートが正しくありません
3071 : ソースオペランド型またはレジスタソートが正しくありません
3072 : データ型指定子はこの命令の有効なエンコーディングと一致していません
3073 : データ型指定子がありません
3074 : スカラオペランドが期待されます
3075 : デスティネーションオペランドにはデータ型指定子 "<entity>" が必要です
3076 : ソースオペランドにはデータ型指定子 "<entity>" が必要です
3077 : ライトバックは機能しません
3078 : この命令ではデータ型指定子を使用できません
3079 : 命令の幅データ修飾子またはデータ型指定子が無効です
3080 : 特殊レジスタはサポートされていません
3081 : 行末記号または ";" が必要です
3082 : GNU-C89 スタイルのインライン展開を有効にするオプションは、C のコンパイル時にのみ使用できます
3083 : 関数は、以前に "gnu_inline" 属性なしで宣言されました
3084 : "gnu_inline" 属性は非インライン関数では無視されます
3092 : 無名共用体は、--gnu モード時または #pragma anon_unions を使用して有効にした場合のみサポートされます。
3093 : 無名構造体は、--gnu モード時または #pragma anon_unions を使用して有効にした場合のみサポートされます。
3094 : __stack_chk_guard はデータである必要があります
3095 : __stack_chk_fail は関数である必要があります
3096 : 定数式の値は、ビットマスク &lt;mask&gt; に収まる必要があります
3097 : 末尾の戻り値型には、"auto" 型指定子が必要です
3098 : 末尾の戻り値型はネストされた宣言子では指定できません
3099 : 末尾に戻り値型がある関数宣言子の前には単純な "auto" 型指定子が必要です
3100 : "auto" 関数には末尾の戻り値型が必要です
3101 : メンバテンプレートには純指定子を含めることができません
3102 : nullptr キーワードを制御するオプションは C++ のコンパイル時にのみ使用できます
3103 : std::nullptr_t がブール型に変換されました
3106 : 属性 &lt;attribute&gt; では、空の引数リストは許可されません
3107 : 属性が複数回出現します
3108 : ここには属性 &lt;attribute&gt; は適用されません
3109 : 属性 &lt;attribute&gt; はビットフィールドには適用されません
3110 : 属性 &lt;attribute&gt; にはビットフィールドが必要です
3111 : 属性 &lt;attribute&gt; はメンバ関数には適用されません
3112 : 属性 &lt;attribute&gt; にはメンバ関数が必要です
3113 : 属性 &lt;attribute&gt; は仮想関数には適用されません
3114 : 属性 &lt;attribute&gt; には仮想関数が必要です
3115 : 属性 &lt;attribute&gt; は純仮想関数には適用されません
3116 : 属性 &lt;attribute&gt; には純仮想関数が必要です
3117 : 属性 &lt;attribute&gt; はレジスタ変数には適用されません
3118 : 属性 &lt;attribute&gt; にはレジスタ変数が必要です
3119 : 属性 &lt;attribute&gt; が元の宣言にありませんでした
3120 : 属性はここでは使用できません
3121 : 属性 &lt;attribute&gt; をクラス定義で指定する必要があります
3122 : "final" が純仮想関数に適用されました
3123 : "final" &lt;entity&gt; をオーバーライドできません
3124 : &lt;entity&gt; は以前に carries_dependency 属性なしで宣言されました
3125 : 配列 &lt;entity&gt; の無効なイニシャライザ
3127 : 属性 &lt;attribute&gt; は関数型には適用されません
3128 : 属性 &lt;attribute&gt; には関数型が必要です
3129 : 属性 &lt;attribute&gt; は非スタティックメンバ関数には適用されません
3130 : 属性 &lt;attribute&gt; は自動変数には適用されません
3131 : 属性 &lt;attribute&gt; には自動変数が必要です
3132 : 属性 &lt;attribute&gt; は、外部リンケージがある変数または関数には適用されません
3133 : 属性 &lt;attribute&gt; にはローカル変数が必要です
3134 : 属性はここでは無視されます
3135 : 属性はどのエンティティにも適用されません
3136 : 不正な属性引数の代入
3137 : "tls_model" 属性の引数は、"global-dynamic"、"local-dynamic"、"initial-exec"、または "local-exec" である必要があります
3138 : 宣言 &lt;enntity&gt; で異なる "tls_model" 引数が指定されています
3139 : 属性 &lt;attribute&gt; はインライン関数には適用されません
3140 : 属性 &lt;attribute&gt; にはインライン関数が必要です
3141 : include_alias プラグマの両方のファイル名では、同じ区切り文字を使用する必要があります
3142 : 符号付きオペランドと符号なしオペランドの比較
3143 : 属性 &lt;attribute&gt; が名前なし型で無視されました
3144 : 後に定義がないため、属性 &lt;attribute&gt; が無視されました
3145 : スレッドローカリティは &lt;entity&gt; の以前の宣言と互換性がありません
3146 : 外側の lambda が暗黙的なキャプチャを許可していないため、外側の関数のこのローカル変数は、この lambda 本体で参照できません
3147 : この属性引数に一致しない括弧、角括弧、または中括弧が含まれています
3148 : __builtin_fpclassify の呼び出しには、5 つの整数引数と浮動小数点引数が必要です
3149 : __builtin_fpclassify の呼び出しの最後の引数には、実浮動小数点型を含める必要があります
3150 : 境界整列をデフォルトの境界整列未満に設定することはできません
3151 : 属性は明示的なインスタンス生成には使用できません
3152 : 属性 &lt;attribute&gt; は定義には適用されません
3153 : 属性 &lt;attribute&gt; には定義が必要です
3154 : 標準属性は、定義ではない friend 宣言には使用できません
3155 : 指定した境界整列(&lt;n&gt;)が、以前の宣言で指定した境界整列(&lt;n&gt;)と異なっています
3156 : 境界整列属性も定義 &lt;entity&gt; に指定する必要があります
3157 : &lt;entity&gt; をエイリアス宣言の type-id に使用することはできません
3159 : &lt;type&gt; は、最初のフィールドが浮動小数点型であるため、透過的にできません
3160 : &lt;type&gt; は、最初のフィールドがビットフィールドであるため、透過的にできません
3161 : "base_check" クラスの仮想関数は、ベースクラスメンバをオーバーライドしますが、"override" 属性がありません
3162 : using 宣言 &lt;entity&gt; で参照される宣言で "hiding" 属性が指定されました
3163 : &lt;entity&gt; を非表示にする宣言("base_check" クラス内)には、属性 "hiding" が必要です
3164 : この変換単位では &lt;entity&gt; は宣言されていませんが、ローカル型に依存しています
3165 : この変換単位では &lt;entity&gt; は宣言されていませんが、リンケージのない型に依存しています
3166 : 別の変換単位内に属性 &lt;attribute&gt; がありません
3167 : 属性 &lt;attribute&gt; が別の変換単位と競合しています
3168 : "nonstd_gnu_keywords" オプションは、GNU C および GNU C++ モードでのみ有効です
3169 : 定数式での const 変数の使用は、C の標準ではありません
3170 : イニシャライザは、自動保存期間が設定されているフレキシブル配列メンバに対して指定できません
3172 : "final" クラス型はベースクラスとして使用できません
3173 : エクスポートされたテンプレートは、標準 C++ 言語にはありません
3174 : テンプレート依存の指定子は使用できません
3175 : offsetof の 2 番目のオペランドに参照型のフィールドは使用できません
3176 : 有効期間が長いテンポラリは、他の要求された新しい言語機能と互換性がありません
3177 : ワイド文字文字列リテラルは、診断では引用符で囲まれません
3178 : 属性 &lt;attribute&gt; の引数がありません
3179 : オプション "c++11" および "c++11_sfinae" には、異なるコンパイラのコンフィギュレーションが必要です
3180 : テンプレートパラメータパックがパラメータリストの末尾にありません
3181 : ここではパラメータパックを宣言できません
3182 : パラメータパックにはデフォルトを指定できません
3184 : "value__" は列挙定数の名前として使用できません(このコンテキストでは予約されている名前です)
3185 : 明示的な列挙値はブール潜在型の列挙型で必要です
3187 : パラメータパック &lt;entity&gt; が参照されましたが展開されていません
3188 : パック展開で引数パックが使用されません
3189 : パック &lt;entity&gt; の要素数が &lt;entity&gt; と異なります
3191 : vector_size 属性は、列挙型では使用できません
3192 : プロパティに static と virtual の両方を指定することはできません
3193 : インデクス付きプロパティを trivial にすることはできません
3194 : この宣言はプロパティ定義に使用できません
3195 : 修飾された関数型を使用してアクセサ関数を宣言することはできません
3196 : アクセサ関数には省略記号パラメータを含めることができません
3197 : "get" アクセサは、このプロパティ &lt;property&gt; に対して既に宣言されています
3198 : "set" アクセサは、このプロパティ &lt;property&gt; に対して既に宣言されています
3199 : "get" アクセサにはパラメータを指定できません
3200 : "get" アクセサの戻り値型とプロパティ型が一致していません
3201 : "set" アクセサの戻り値型は void でなければなりません
3202 : プロパティではインデクスの空リストを宣言できません
3203 : プロパティインデクスを void 型にすることはできません
3204 : インデクス型が "set" アクセサ内の対応するパラメータと一致しません
3205 : インデクス型が "get" アクセサ内の対応するパラメータと一致しません
3206 : "set" アクセサにインデクス型がありません
3207 : "get" アクセサにインデクス型がありません
3208 : "set" アクセサに値パラメータがありません
3209 : アクセサ関数のパラメータが多すぎます
3210 : "set" アクセサの最後のパラメータがプロパティの型と一致しません
3213 : #using はグローバルスコープでのみ使用できます
3214 : メンバ名 &lt;entity&gt; は &lt;entity&gt; で予約されています
3215 : "[" が必要です
3217 : デフォルトのインデクス付きプロパティをスタティックにすることはできません
3218 : プロパティアクセサに static と virtual の両方を指定することはできません
3219 : トップレベルの可視性指定子はネストされた型の宣言に使用できません
3220 : トップレベルの可視性指定子には型定義が必要です
3221 : trivial プロパティを参照型にすることはできません
3222 : trivial プロパティを const または volatile 型にすることはできません
3223 : &lt;entity&gt; は、以前に別の種類の列挙型として宣言されました
3226 : ハンドルの配列は使用できません
3227 : 配列を識別するハンドルは使用できません
3228 : 関数を識別するハンドルは使用できません
3229 : void を識別するハンドルは使用できません
3230 : ハンドル、ポインタ、または参照を識別するハンドルは使用できません
3231 : 関数への追跡参照は使用できません
3233 : フィールドを追跡参照にすることはできません
3234 : 追跡参照をこのように通常の参照と組み合わせることはできません
3235 : 静的保存期間のある変数に ref クラス型を指定することはできません
3238 : &lt;entity&gt; は、以前に別の種類のクラスとして宣言されました
3239 : &lt;entity&gt; は、以前に別の種類のクラステンプレートとして宣言されました
3241 : リテラルデータメンバは初期化する必要があります
3242 : &lt;type&gt; 型のリテラルデータメンバは使用できません
3243 : const はリテラルデータメンバには無効です
3245 : const は initonly データメンバには無効です
3246 : &lt;entity&gt; には "get" アクセサがありません
3247 : &lt;entity&gt; には "set" アクセサがありません
3248 : 静的コンストラクタにはパラメータを指定できません
3249 : 静的コンストラクタをメンバテンプレートにすることはできません
3250 : 複合左辺値は asm 出力オペランドとして使用できません
3255 : オーバーライド指定子がベースクラスメンバ関数を指定していません
3256 : オーバーライド指定子が非仮想メンバ &lt;entity&gt; を指定しています
3257 : メンバ関数でオーバーライドされる &lt;entity&gt; は、既に &lt;entity&gt; によりオーバーライドされています
3258 : 1 つの可視性指定子のみ指定できます
3259 : デリゲート定義に使用されている &lt;type&gt; 型は関数型ではありません
3261 : デリゲート型への追跡参照は使用できません
3262 : ここではデリゲート型を使用できません
3263 : このパック展開で空の式リストが生成されましたが、ここでは式が必要です
3273 : アクセサ関数のパラメータが多すぎます
3274 : イベントアクセサのパラメータの型 &lt;type&gt; が、イベントタイプ(&lt;type&gt;)と一致しません
3275 : "raise" アクセサの型がイベントのデリゲート呼び出し型と一致しません
3277 : スタティック変換関数には引数を 1 つだけ指定する必要があります
3278 : 静的演算子のパラメータ型は、T、T&amp;、T%、または T^(T = &lt;type&gt;)である必要があります
3279 : sizeof... のオペランドはパラメータパック名である必要があります
3280 : sizeof... 演算子は可変個引数テンプレートでのみ使用できます
3283 : 対象範囲外の列挙型を識別するハンドルは使用できません
3285 : 定義が後に続く純粋指定子("= 0")は非標準です
3287 : ref クラス型のオブジェクトのアドレスを取得するために "&amp;" 演算子を使用することはできません
3292 : ファイル &lt;file&gt; からメタデータをインポートできませんでした
3297 : &lt;type&gt; をクラスメンバにすることはできません
3299 : ファイナライザ宣言が無効です
3300 : ファイナライザにパラメータを指定することはできません
3301 : 型修飾子はファイナライザでは使用できません
3302 : 戻り値型はファイナライザには指定できません
3303 : using 宣言ではファイナライザを指定できません
3304 : ファイナライザ名は修飾する必要があります
3305 : ファイナライザ名 &lt;entity&gt; の修飾子が型 &lt;type&gt; と一致しません
3306 : &lt;entity&gt; はファイナライザの名前に使用できません(型の名前が必要です)
3307 : &lt;type&gt; 型のファイナライザ名が無効です
3308 : ファイナライザの参照があいまいです -- &lt;entity&gt; と &lt;entity&gt; の両方を使用できます
3309 : ファイナライザは ref クラスのメンバとしてのみ使用できます
3311 : ファイナライザ名として使用されている型が &lt;type&gt; 型と一致しません
3312 : この型にはファイナライザが存在しません
3332 : "&lt;entity&gt;" はデフォルトのアセンブリから読み込まれません
3333 : リスト初期化構文は C++11 の機能です
3334 : sizeof のオペランドには ref クラス型やインタフェースクラス型は使用できません
3345 : 制限されたアクセスで &lt;entity&gt; がオーバーライドされました
3346 : &lt;type&gt; 型の参照は &lt;type&gt; 型の値で初期化することはできません
3360 : プロパティ定義には 1 つ以上のアクセサ("get" または "set")を含める必要があります
3361 : デフォルトのインデクス付きプロパティが &lt;type&gt; と競合しています
3362 : &lt;entity&gt; はパラメータパックの後に続いており、&lt;entity&gt; のパラメータから推測できないため、使用できません
3363 : このパック展開で複数の式が生成されましたが、ここでは単一の式が必要です
3366 : 無名のパラメータパック宣言は括弧で囲むことができません
3367 : 可変個引数テンプレートは C++ のコンパイル時にのみ有効にできます
3371 : ジェネリックパラメータにはデフォルトを指定できません
3372 : ジェネリックには型パラメータのみを設定できます
3373 : 型 &lt;type&gt; は、"for each" ステートメントで使用するには非スタティックメンバ関数 &lt;entity&gt; を実装する必要があります
3374 : "for each" はスタティックであるため、メンバ &lt;entity&gt; を使用できません
3375 : この "for each" ステートメントでは、空の引数リストで呼び出し可能な &lt;entity&gt; のインスタンスがありません
3376 : 戻り値型が無効なため、メンバ関数 "MoveNext" を "for each" で使用できません
3377 : &lt;type&gt; 型の式では "for each" ステートメントは実行できません
3378 : 型 &lt;type&gt; は、"for each" ステートメントで使用するにはインデクスされていないプロパティ &lt;property&gt; を実装する必要があります
3380 : この "for each" ステートメントでは、&lt;type&gt; は有効な列挙子ではありません(&lt;type&gt; の "GetEnumerator" によって返されます)
3381 : "in" が必要です
3382 : クラス &lt;type&gt; には適切な代入演算子がありません(演算子合成後)
3383 : &lt;entity&gt; はジェネリックパラメータではありません
3384 : &lt;entity&gt; は最深部のジェネリックパラメータリストのジェネリックパラメータではありません
3385 : 無効なジェネリック制約
3388 : "+=" および "-=" のみがイベントに有効です
3391 : 後に "::typeid" が付いている名前は型名である必要があります
3397 : ハンドル dynamic_cast のオペランドは、完全なクラス型へのハンドルでなければなりません
3400 : 内部ポインタはネイティブポインタにキャストできません
3401 : 明示的な変換演算子は、ref クラス型および値クラス型でのみ宣言できます
3402 : 明示的な変換演算子を virtual にすることはできません
3403 : 式は、算術型または対象範囲外の列挙型である必要があります
3404 : 式は、算術型、対象範囲外の列挙型、またはポインタ型である必要があります
3405 : 式は整数型または対象範囲外の列挙型である必要があります
3406 : 式は、整数型、対象範囲外の列挙型、または固定小数点型である必要があります
3407 : 組み込みバイナリ演算子をスコープ列挙に適用するには、同じ型のオペランドが 2 つ必要です
3410 : new は単純値型でのみ使用できます
3412 : new はハンドル型では使用できません
3416 : 配列の境界が多すぎます
3417 : 配列の境界が少なすぎます
3418 : &lt;entity&gt; の引数が少なすぎます
3419 : &lt;entity&gt; の引数が多すぎます
3421 : 指定された数のジェネリック引数を受け取る &lt;entity&gt; の宣言はありません
3422 : デリゲートイニシャライザが無効です -- 関数である必要があります
3423 : デリゲートイニシャライザが無効です -- 複数の関数がデリゲート型と一致します
3424 : デリゲートイニシャライザが無効です -- 関数がデリゲート型と一致しません
3425 : デリゲートイニシャライザが無効です -- 関数に加えてオブジェクトも必要です
3427 : デリゲートイニシャライザが無効です -- 指定された関数にオブジェクトは不要です
3428 : デリゲートイニシャライザが無効です -- オブジェクトの型は &lt;type&gt; ですが、型 &lt;type&gt; が必要です
3430 : デリゲートイニシャライザが無効です -- "(&lt;関数アドレス&gt;)" または "(&lt;オブジェクトハンドル&gt;, &lt;メンバアドレス&gt;)" が必要です
3431 : クラスはインタフェースメンバ &lt;entity&gt; を実装できません
3436 : デストラクタまたはファイナライザの宣言には名前付きオーバーライド指定子を含めることができません
3437 : オーバーライド指定子ではデストラクタまたはファイナライザを指定できません
3439 : 名前付きオーバーライド指定子で指定されたメンバが、このメンバの型と一致しません
3440 : 静的コンストラクタ宣言には名前付きオーバーライド指定子を含めることができません
3441 : スコープ列挙型には名前を指定する必要があります
3442 : finally ブロックに制御を転送することはできません
3443 : finally ブロック内では return ステートメントは使用できません
3444 : try ブロックには 1 つ以上のハンドラまたは finally 句が必要です
3446 : finally ブロック内では break ステートメントは使用できません
3447 : finally ブロック内では continue ステートメントは使用できません
3448 : サブスクリプトのオーバーロード時には組み込みの offsetof は使用できません
3449 : 制約が重複しています
3450 : 複数のクラス制約があります: &lt;type&gt; および &lt;type&gt;
3451 : &lt;entity&gt; に複数の制約句があります
3452 : initonly スタティックデータメンバは、イニシャライザを指定するか、静的コンストラクタで初期化される必要があります
3453 : テンプレート再宣言では GNU 属性は無効です
3454 : テンプレート再宣言では GNU 属性は無効です(代わりに、元の宣言の属性 &lt;entity&gt; が適用されます)
3459 : __inline および __forceinline はここでは使用できません
3464 : ジェネリックパラメータ型の配列は使用できません
3465 : ジェネリックパラメータ型に対するポインタ、ハンドル、または参照は使用できません
3466 : initonly フィールドには ref クラス型を指定できません
3467 : initonly フィールドには参照をバインドできません
3468 : initonly フィールドのアドレスを取得することはできません
3469 : initonly フィールドは、フィールドに含まれているクラスのインスタンスコンストラクタでのみ変更できます
3470 : 静的 initonly フィールドは、フィールドに含まれているクラスの静的コンストラクタでのみ変更できます
3471 : initonly フィールドのコピー上でメンバ関数が呼び出されます
3472 : 式はポインタ型またはハンドル型である必要があります
3473 : ムーブコンストラクタまたはムーブ代入演算子により左辺値がここにコピーされるため、ソースオブジェクトが破棄される可能性があります
3475 : ref クラス型は &lt;type&gt; から派生することはできません
3477 : sealed クラスは制約として使用できません
3478 : dynamic_cast の型には、値型の可能性があるジェネリック型は指定できません
3479 : ユニバーサル文字名では有効なコードポイントを指定する必要があります
3480 : ジェネリック制約が &lt;entity&gt; の制約と一致しません
3481 : __underlying_type は列挙型にのみ適用されます
3482 : このキャストにはオペランド式が 1 つだけ必要です
3483 : 16 進値 &lt;value&gt; の Unicode 文字は、システムのデフォルトのコードページでは表現できません
3484 : バインドされたメンバへのポインタから関数ポインタへの非標準の変換です
3485 : アクセス指定子 &lt;entity&gt; は廃止される予定です -- 代わりに &lt;entity&gt; を使用してください
3486 : 非スタティックプロパティまたはイベント定義ではスタティックアクセサ関数は使用できません
3487 : &lt;type&gt; には、値クラスと ref クラス制約の両方があります
3488 : &lt;type&gt; および &lt;type&gt; には、生の循環型制約が含まれます
3489 : &lt;type&gt; は有効な型制約ではありません
3490 : プリコンパイルヘッダファイル &lt;entity&gt; は使用されません(不完全であるため)
3491 : &lt;type&gt; は有効なジェネリック引数ではありません
3492 : assembly_info 属性が無効な型に割り当てられています
3493 : &lt;type&gt; は、ジェネリックパラメータ &lt;type&gt; の ref クラス制約を満たしていません
3494 : &lt;type&gt; は、ジェネリックパラメータ &lt;type&gt; の値クラス制約を満たしていません
3498 : &lt;type&gt; は、ジェネリックパラメータ &lt;type&gt; の &lt;type&gt; 型制約を満たしていません
3499 : ジェネリックパラメータ &lt;type&gt; に対する制約が前回の宣言時(&lt;entity&gt;)と異なっています
3503 : テンプレート引数はジェネリック型パラメータを参照できません
3504 : 式のリストはこの添字操作で使用できません(トップレベルのコンマ演算子を括弧で囲んでください)
3506 : 認識されない属性
3510 : デリゲートをテンプレートとして宣言することはできません
3511 : ジェネリックは明示的に特殊化できません
3512 : ジェネリックはクラステンプレートで宣言できません
3513 : テンプレートはジェネリッククラスで宣言できません
3514 : リテラルフィールドを "static" として宣言することはできません
3515 : "long float" は非標準の拡張です -- 代わりに "double" を使用してください
3519 : ここでは &lt;entity&gt; を使用できません
3520 : trivial プロパティまたはイベントを使用して &lt;entity&gt; をオーバーライドすることはできません
3521 : 反復子変数名が必要です
3522 : この "for each" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3523 : この "for each" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3524 : この "for each" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3525 : 非 POD 型 &lt;type&gt; のこのフィールドに対するペアレント型のパッキング属性は無視されます
3526 : この宣言はパブリックでなく、名前付きのオーバーライド指定子がないため、&lt;entity&gt; は実装されません
3527 : この宣言には、前の宣言 &lt;entity&gt; で指定された gnu_inline 属性がありません
3529 : 前に宣言された &lt;entity&gt; は、"for each" ステートメントの反復子として無効です
3531 : ジェネリックパラメータを含む関数型には省略記号パラメータを使用できません
3532 : 一致する &lt;entity&gt; をオーバーライドするには "virtual" が必要です
3533 : 一致する &lt;entity&gt; を実装するには "virtual" が必要です
3534 : initonly データメンバを volatile にすることはできません
3536 : non-const への追跡参照は定数にバインドできません
3537 : ここにある属性は、宣言されたエンティティに適用されないため、無視されました
3539 : pending 制約があるジェネリッククラス &lt;type&gt; の使い方が無効です(メタデータファイルが無効である可能性があります)
3540 : pending 制約句は、(ジェネリッククラス定義ではなく)ジェネリッククラス宣言でのみ使用できます
3541 : 空のイニシャライザリストは、ここでは使用できません
3543 : ここではジェネリックを宣言できません
3544 : インタフェース型にはメンバジェネリックを含めることができません
3545 : Latin-1 ではない、下位バイトに切り捨てられた Unicode 文字
3546 : 型 &lt;type&gt; は、範囲ベースの "for" ステートメントで使用するには関数 &lt;entity&gt; を実装する必要があります
3547 : この範囲ベースの "for" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3548 : この範囲ベースの "for" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3549 : この範囲ベースの "for" ステートメントの反復子型は &lt;type&gt; です。これはポインタ型または反復子のようなクラス型ではありません
3550 : 範囲ベースの "for" ステートメントは、サイズが不明の配列または不完全な型 &lt;type&gt; に対して実行することはできません
3551 : 範囲ベースの "for" ステートメントで使用される "begin" 関数と "end" 関数の戻り値型は同じである必要があります("begin" の戻り値型は &lt;type&gt;、"end" の戻り値型は &lt;type&gt; です)
3552 : 削除されたテンポラリの破棄に必要な &lt;entity&gt; にアクセスできません
3553 : この範囲ベースの "for" ステートメントでは、&lt;entity&gt; のインスタンスが引数リストと一致しません
3554 : この範囲ベースの "for" ステートメントには、適切な &lt;entity&gt; 関数が必要ですが、見つかりません
3555 : この "for each" ステートメントには、適切な &lt;entity&gt; 関数が必要ですが、見つかりません
3557 : "..." が必要です
3558 : __implements リスト内の &lt;type&gt; はインタフェースではありません
3559 : __implements リストは仮想関数宣言の前に指定する必要があります
3560 : &lt;type&gt; はそのベースのリストで "__implements ..." を指定しましたが、一致する __implements リストが見つかりません
3561 : 古い for-init 互換モードは、C++11 モードでは使用できません
3562 : ")" が必要です。プラグマは無視されました
3564 : 注: &lt;entity&gt; は呼び出すことはできましたが、アクセスできないため考慮されませんでした
3566 : この単項 "operator*" を宣言すると、ハンドルの間接参照の意味が変更される可能性があります(適用可能な型を明示的に示すには静的メンバ演算子を使用します)
3581 : インタフェースクラスには非スタティックデータメンバを含めることができません
3582 : #pragma GCC system_header はプライマリソースファイルで使用できません
3583 : &lt;entity&gt; は大きすぎるためインライン化できません
3585 : 移動操作を制御するオプションは C++ のコンパイル時にのみ使用できます
3586 : 右辺値コンストラクタがコピーコンストラクタの場合は移動操作を生成できません
3587 : 移動操作を制御するオプションは、右辺値参照が無効な場合は使用できません
3591 : 潜在型に互換性がないため、この宣言は &lt;entity&gt; の非標準の宣言を表示しません
3592 : オペランドを null にできないため、ポインタ比較結果は一定です
3593 : 不完全な型 &lt;type&gt; のオブジェクトを値で初期化できません
3594 : 参照を値で初期化できません
3595 : "(" または "{" が必要です
3596 : copy-list-initialization では、"explicit" とマークされたコンストラクタを使用できません
3597 : void 型のメンバへのポインタは使用できません
3598 : 参照型のメンバへのポインタは使用できません
3599 : ハンドル型のメンバへのポインタは使用できません
3600 : ここでは中括弧で囲まれたリストを使用できません
3602 : アセンブリメタデータが、存在しないアセンブリを参照しています
3603 : 属性 &lt;attribute&gt; が、以前の属性 &lt;attribute&gt; と競合しています
3604 : &lt;entity&gt; は、以前に別の基本型で宣言されていました
3605 : "enum class" と "enum struct" は、ここでは使用できません(代わりに単純な "enum" を使用してください)
3606 : &lt;type&gt; 型のオブジェクトのイニシャライザでは、1 レベルの中括弧のみを使用できます
3607 : &lt;entity&gt; は列挙型の名前として使用できません
3608 : 戻り値型が暗黙的な lambda では、すべての return ステートメントが同じ型を返す必要があります
3609 : 中括弧で囲まれたイニシャライザと "new auto" は同時に使用できません
3610 : std::initializer_list の定義に、予期されたコンストラクタが含まれていません
3611 : 宣言は &lt;entity&gt; を非表示にします
3612 : std::initializer_list のテンプレートパラメータリストが無効です(デフォルト値のない通常の型パラメータの 1 つである必要があります)
3613 : 中括弧で囲まれたリストを省略記号パラメータに渡すことはできません
3614 : std::initializer_list を使用する(暗黙的な使用を含む)前に #include &lt;initializer_list&gt; が必要です
3615 : "inline" キーワードは、名前空間のエイリアス宣言では使用できません
3616 : &lt;entity&gt; の前の宣言は、インラインで宣言されていませんでした
3617 : インライン &lt;entity&gt; の再宣言はインラインで宣言する必要があります
3618 : 最初の引数は整数の定数である必要があります
3619 : 無名共用体メンバの指定子は、その無名共用体に対応する中括弧内でのみ使用できます
3620 : 関数プロトタイプタグは C のコンパイル時にのみ有効にできます
3621 : このサブオブジェクトイニシャライザでは中括弧を省略できません
3622 : &lt;type&gt; から &lt;type&gt; へのナローイング変換は無効です
3623 : &lt;type&gt; から &lt;type&gt; へのナローイング変換は無効です: 定数値はデスティネーションの型では不適切です
3624 : 不完全な配列型 &lt;type&gt; へのキャストは許可されません
3625 : &lt;type&gt; から &lt;type&gt; へのナローイング変換は無効です: 定数値はデスティネーションの型で正確に表現できません
3626 : 非クラスエンティティの括弧で囲まれたイニシャライザは、式である必要があり、中括弧で囲まれたリストであってはなりません
3627 : 中括弧で囲まれたリストは、この lambda の戻り値型を提供しません
3628 : 宣言された例外指定は生成された例外指定と互換性がありません
3629 : スコープ列挙型は C++11 の機能です
3630 : 関数型を値で初期化できません
3631 : オブジェクト型 &lt;type&gt; のリスト初期化は、型が不完全であるため許可されません
3632 : std::initializer_list にはデストラクタが含まれていますが、それは想定されていません -- ライブラリは正しく構成されている必要があります
3633 : 明示的な列挙基本型は C++11 の機能です
3634 : この定数式には、必要な型 &lt;type&gt; ではなく型 &lt;type&gt; が指定されています
3635 : std::initializer_list オブジェクトの "new" は正しく動作しない可能性があります。基になる配列が式全体の最後で破棄されます。
3637 : "noexcept" は関数宣言の型以外の関数型では無視されます
3638 : "defined" は Microsoft モードのマクロ拡張では常に false です
3639 : &lt;type&gt; は、完全なオブジェクト型ではないため、イニシャライザリストの要素型にすることはできません
3640 : デフォルト引数式内の区切り記号が一致しません
3641 : メンバへのポインタから関数ポインタへの非標準の変換です
3642 : ダイナミックな例外の指定は廃止される予定です
3643 : &lt;entity&gt; は現在の有効範囲では部分的に特殊化できません
3644 : &lt;entity&gt; は、以前に constexpr として宣言されました
3645 : &lt;entity&gt; は、以前に constexpr として宣言されていません
3646 : constexpr 変数宣言を定義する必要があります
3647 : ここでは "constexpr" は無効です
3648 : constexpr 関数には return ステートメントを 1 つだけ含める必要があります
3649 : ステートメントは constexpr 関数内に記述できません
3650 : ステートメントは constexpr コンストラクタ内に記述できません
3651 : 関数に constexpr と virtual の両方を指定することはできません
3652 : constexpr 関数にリテラル以外の戻り値型 &lt;type&gt; を指定することはできません
3653 : constexpr 関数にリテラル以外の型 &lt;type&gt; のパラメータを指定することはできません
3654 : 式で &lt;entity&gt; を順序付けて使用しないと、未定義の結果が生じる可能性があります
3655 : __builtin_assumed_aligned 呼び出しのオプションの 3 番目の引数は、整数型である必要があります
3656 : デストラクタを constexpr にすることはできません
3657 : mmap に指定されたアドレスは、ページバウンダリで整列させる必要があります:
3658 : constexpr コンストラクタの本体を関数 try ブロックにすることはできません
3659 : constexpr &lt;entity&gt; は次のイニシャライザを提供しません:
3661 : &lt;type&gt; のデフォルトコンストラクタを呼び出しても定数値は生成されません
3662 : &lt;type&gt; のデフォルトコンストラクタは constexpr ではありません
3663 : constexpr 変数にはリテラル型または参照型を使用する必要があります
3664 : 仮想ベースを含むクラス用コンストラクタを constexpr にすることはできません
3665 : 関数呼び出しでは、定数式に定数値が必要です
3666 : 関数 "main" は constexpr として宣言できません
3667 : constexpr メンバ関数は、リテラルクラス型でのみ使用できます
3668 : クラス型または列挙型の定義は、constexpr 関数またはコンストラクタの本体には指定できません
3669 : ここでは GNU 形式の属性のみを使用できます
3670 : イニシャライザから型を推測することと、後続の戻り値型を知らせることを目的とした、"auto" の非標準の使用です
3671 : 修飾 void 型を使用した void 型のパラメータリストの宣言は標準ではありません
3672 : この local 宣言の修飾子は無視されます
3673 : この定数式には、必要な型 &lt;entity&gt; ではなく型 &lt;type&gt; が指定されています
3674 : __bases または __direct_bases のインスタンス化にはクラス型が必要です
3675 : __bases と __direct_bases の引数は、型テンプレートパラメータである必要があります
3676 : &lt;entity&gt; は、テンプレートコンテキストでのみ使用できます
3677 : constexpr コンストラクタは非 constexpr の &lt;entity&gt; を呼び出します
3678 : &lt;entity&gt; のイニシャライザが定数式ではないため、コンストラクタを constexpr にすることはできません
3679 : constexpr コンストラクタの非定数イニシャライザです
3680 : &lt;type&gt; に対して生成されたデフォルトコンストラクタは、独自のデータメンバのイニシャライザでは使用できません
3681 : &lt;entity&gt; のイニシャライザのインスタンス化は、独自の値に依存しています
3682 : 対応する暗黙的に宣言されたデフォルトコンストラクタは constexpr ではないため、デフォルト値にされたデフォルトコンストラクタを constexpr にすることはできません
3683 : constexpr 関数呼び出しの入れ子が過剰なため(無限再帰の可能性あり)、式は定数に折りたたまれません
3684 : 無効なバイナリ番号
3685 : 共用体に指定できるフィールドイニシャライザは 1 つだけです -- &lt;entity&gt; にもイニシャライザが含まれています
3686 : constexpr スタティックデータメンバは、不完全な型 &lt;type&gt; で宣言できません
3687 : 共用体の constexpr コンストラクタは、そのフィールドの 1 つを初期化する必要があります
3688 : constexpr コンストラクタは、無名共用体(定義済みの &lt;entity&gt;)を初期化できません
3689 : constexpr スタティックデータメンバ宣言にはクラス内イニシャライザが必要です
3690 : constexpr の最大の深さ/最大数オプションは、C++ のコンパイル時にのみ使用できます
3691 : constexpr 関数呼び出しが複雑すぎるため、式は定数に折りたたまれません
3692 : 制限なしの共用体オプションは C++ のコンパイル時にのみ使用できます
3693 : constexpr コンストラクタは、直接ベースクラス &lt;type&gt; を初期化する必要があります
3694 : フィールドイニシャライザに std::initializer_list オブジェクトを作成すると、基になる配列が式全体の最後で破棄されるため、正しく動作しない可能性があります
3695 : "this" は定数式では使用できません
3696 : この共用体型では空のイニシャライザは無効です(初期化する必要があるメンバがあいまいです)
3697 : 明示的なインスタンス化ディレクティブでは "constexpr" を使用できません
3698 : 循環依存が原因で、デフォルトコンストラクタの例外指定を特定できません
3699 : 無名共用体で &lt;entity&gt; が定義されました
3700 : このコンストラクタは &lt;entity&gt; のイニシャライザを使用するため、バインドされていない再帰となります
3701 : 無名共用体で定義された &lt;entity&gt; は、削除済みのデフォルトのコンストラクタまたはデストラクタを含んでいるため、デフォルトで初期化できません
3702 : イニシャライザは extern 変数のローカル宣言では使用できません
3703 : イニシャライザは名前付きレジスタ変数のローカル宣言では使用できません
3704 : 付随的なポインタ(存続期限が終了している一時的なポインタ)が原因で、式は定数ではありません
3706 : コンストラクタはそれ自体に直接的または間接的にデリゲートします
3707 : デリゲートコンストラクタには他のメンバイニシャライザを指定できません
3708 : ここでは ref 修飾子を使用できません
3709 : 同じパラメータ型の 2 つのメンバ関数をオーバーロードするには、その両方に ref 修飾子を指定するか、どちらにも ref 修飾子を指定しない必要があります
3710 : 未加工の文字列の区切り記号に無効な文字があります -- 未加工の文字列インジケータが無視されました
3711 : 未加工の文字列の区切り記号を終了する括弧が 16 文字の後に見つかりません -- 未加工の文字列インジケータは無視されました
3712 : 未加工の文字列に対する終わりの区切り記号が見つかりません
3713 : パラメータパックは、部分的特殊化の最後のテンプレート引数にする必要があります
3714 : 型 &lt;type&gt; のメンバへのポインタ関数は、左辺値のオブジェクトでのみ使用できます
3715 : 型 &lt;type&gt; のメンバへのポインタ関数は、右辺値のオブジェクトでのみ使用できます
3716 : ベースまたはメンバのコピーコンストラクタパラメータが non-const であるため、このデフォルト値にされたコピーコンストラクタのパラメータを const に指定できません
3717 : ベースまたはメンバのコピー代入パラメータが non-const であるため、このデフォルト値にされた代入演算子のパラメータを const に指定できません
3718 : 無名共用体には 1 つ以上の非スタティックデータメンバを指定する必要があります
3719 : オプション "delegating_constructors" には、異なるコンパイラのコンフィギュレーションが必要です
3720 : デリゲートコンストラクタは --cpp_compat でも --exceptions でも使用できません
C4002W : 不正な非境界整列ロードまたはストアアクセスです - 代わりに __packed を使用してください
C4008W : LDM/STM を分割しても効果はありません
スイッチ "--split_ldm" の使用が不適切です。このオプションは、キャッシュ付きシステムや書き込みバッファ付きプロセッサには大きなメリットはありません。
C4009E : サポートされていない CPU <entity>
C4016W : 不明なオプション '-<entity><entity>':無視されます
C4017W : <entity> は値を設定する前に使用されているかもしれません
コンパイラは最適化レベル -O1 以上でデータフロー分析を実行します。この情報を使用すると、設定前に使用されている変数など、コード内の潜在的な問題を特定できます。ただし、これは最適化の副産物のようなものであり、独立した機能ではありません。設定される前に使用されている変数を検出するデータフロー分析は、ハードウェアのレジスタの使用のみを解析します。つまり、プロセッサレジスタで保持される変数のみが対象になります。スタックに割り当てられる(プロセッサレジスタではなくメモリに格納される)変数または構造体は、解析されません。
コンパイラによって生成されるコード(およびレジスタメモリの使用方法)は最適化のレベルによって異なるので、どのレベルでコンパイルされたコードであるかに応じて、警告が表示される場合とされない場合があります。例えば、-O2 の場合は表示され、-O1 の場合は表示されません。

  • データフロー分析は、完全な機能を目的としているわけではありません。コンパイラによって生成される C4017W の警告は、単なるガイドとして扱い、問題のあるコードを特定するための確実な情報とは考えないようにして下さい。Lint などの専用ツールほど多くの情報をコンパイラが提供することはありません。
  • ARM コンパイラ 5.04 以降では、この警告はデフォルトで表示されません。これを有効にするには、--diag_warning=C4017 を使用します。
C4018W : ゼロによる除算:<entity>
定数伝播によって、除算または剰余演算子の第 2 オペランドが 0 であることが示されています。実行がこの式に到達すると、エラーになります。コンパイラは、定数 0 による除算の結果として 0 を返します。
C4038E : 関数が大きすぎるか複雑すぎてコンパイルできません(0x<num>
C4041U : '<entity>' 書き込み中の I/O エラー:<entity>
C4047U : エラーが多すぎます
C4048U : -g をコンパイル中にストア不足が発生しました。割り当てサイズは <entity> でしたが、システムのサイズは <entity> です
C4049U : ストア不足です。割り当てサイズは <entity> でしたが、システムのサイズは <entity> です
コンパイラによるストレージ割り当て要求が失敗しました。-g オプションによって要求されるデバッグテーブルのコンパイルには、大量のメモリが必要になります。-g を指定せずに再コンパイルするか、プログラムをいくつかに分割して再コンパイルすると、問題を解決できる場合があります。
C4050U : コンパイルがアボートされました。
C4051E : ファイル '<entity> に書き込めませんでした:<entity>
C4052E : ファイル '<entity>' を読み出せませんでした:<entity>
C4056E : 不正なオプション '<s>'
C4057E : 不正なオプション '<s1> <s2>'
C4065E : 入力ファイル '<entity>' のタイプが不明です
C4066E : このオブジェクトに必要なコードスペースは、このバージョンのコンパイラには大きすぎます
ソースファイルをいくつかに分割して下さい。
C4075E : 出力用の <entity> を開くことができません
C4078E : 他のファイルと結合された stdin('-')
C4079E : <entity> コマンドは機能しません
C4301W : 設定ファイルは、新しいバージョンのコンパイラのファイルである可能性があります
設定ファイルが、コンパイラに --arm_linux_config_file スイッチを使って渡された XML ファイルのうちの 1 つです(--arm_linux_paths または GCC コマンドライン変換を使用している場合)。以下に例を示します。
armcc --arm_linux_paths --arm_linux_config_file=arm_linux_config.xml
この警告は、ファイルが新しいコンパイラ用のものであり、サポートされていない機能が含まれている場合があることを意味しています。非互換性の問題を回避するには、設定ファイルを生成した新しいバージョンのコンパイラを使用するか、以前のバージョンのコンパイラを使って設定ファイルを再生成して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4302E : コンフィギュレーションファイルのバージョン文字列が無効です
このメッセージは、ARM Linux コンフィギュレーションファイルに対する読み出しまたは書き込みエラーを意味しています。
以下の手順に従います。
  1. ファイルの読み出しおよび書き込みが可能であることと、有効なパーミッションがあることを確認します。
  2. --arm_linux_configure を使って設定ファイルを再生成してみます。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4303E : コンフィギュレーションファイルが指定されませんでした
エラー C4302E の説明を参照して下さい。
C4304E : 設定ファイル <file> の読み出し中に I/O エラーが発生しました
エラー C4302E の説明を参照して下さい。
C4305E : 設定ファイル <file> の書き込み中に I/O エラーが発生しました
エラー C4302E の説明を参照して下さい。
C4306E : 設定ファイル <file> を解析できませんでした
エラー C4302E の説明を参照して下さい。
C4307E : 設定ファイルを読み出せません
エラー C4302E の説明を参照して下さい。
C4308W : システムインクルードディレクトリが見つかりません
ARM Linux モード、--arm_linux--arm_linux_paths、または GCC コマンドライン変換を使用している場合は、ARMCC5INC 環境変数を install_directory\include に設定します。これにより、コンパイラが arm_linux ヘッダサブディレクトリを見つけられるようにします。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
『スタート ガイド』の以下のセクションを参照して下さい。
C4309E : 自動コンフィギュレーションに失敗しました - GCC が見つかりません
このエラーは、--arm_linux_configure を使ってツールが自動的に設定されるようにしたものの、GCC が見つからなかった場合に生成されます。--configure_gcc=path_to_gcc コマンドラインオプションを使って、GCC 実行可能ファイル(arm-none-linux-gnueabi-gcc など)へのパスを指定して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4310W : 自動コンフィギュレーションは未完了です - GCC から sysroot パスを特定できません
ARM Linux コンフィギュレーション処理に使用された GCC が有効な sysroot パスを提供しませんでした。--configure_sysroot=sysroot_path を使ってパスを設定して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4311E : 自動コンフィギュレーションに失敗しました - GLD が見つかりません
このエラーは、--arm_linux_configure を使ってツールが自動的に設定されるようにしたものの、GNU リンカ(ld)が見つからなかった場合に生成されます。--configure_gkd==path_to_gcc コマンドラインオプションを使って、GNU ld 実行可能ファイル(arm-none-linux-gnueabi-ld など)へのパスを指定して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4312E : 自動コンフィギュレーションに失敗しました - GCC を実行できませんでした
このエラーは、--arm_linux_configure を指定して ARM Linux の自動コンフィギュレーションを使用した場合に、各ツール(GCC または GNU ld)が実行できなかったか、起動に失敗したことを示しています。各ツールに実行パーミッションがあることと、GNU ツールチェーンインストールが正常に機能していることを確認して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4313E : 自動コンフィギュレーションに失敗しました - GLD を実行できませんでした
エラー C4312E の説明を参照して下さい。
C4314W : gcc コマンドライン変換 - 変換を伴わないオプションは無視されます:<option>
C4315W : gcc コマンドライン変換 - このコマンドの変換は完全にはサポートされていません:<option>
C4316W : arm linux ではオプションはサポートされていません:<option>
C4317W : 変換された cpu またはアーキテクチャオプション <option> が無効です
C4318W : ファイル <file> を読み取れません
C4319W : ファイル <file> の種類を認識できません - ファイルは無視されます
C4320W : ファイル <file> が見つかりません - ファイルは無視されます
C4321E : 自動コンフィギュレーションに失敗しました - GCC からコンフィギュレーションを特定できませんでした
--arm_linux_configure を使って ARM Linux を自動的に設定する際に、コンパイラがコンフィギュレーションの生成に必要な情報を GCC から特定できませんでした。--configure_sysrootsysroot パス、--configure_cpp_headers で GNU C++ ヘッダファイルへのパスを設定することによって、手動で設定してみて下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4322W : GCC からライブラリコンフィギュレーションを正確に特定できませんでした - コンフィギュレーションが不完全である可能性があります
C4323E : 自動コンフィギュレーションに失敗しました - GCC 内部仕様コンフィギュレーションレポートエラー:<text>
C4324W : libstdc++ ヘッダファイルのパスを特定できませんでした - C++ コードが正しくコンパイルされるように、パスを手動で指定してください
libstdc++ ヘッダファイルへのパスが GCC から特定できませんでした。このパスを --configure_cpp_headers=path で指定して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4327W : アプリケーションのエントリポイントの関数を特定できません - デフォルトで <value> を使用しています
C4328W : GNU リンカからライブラリのパスを特定できません - デフォルト設定の使用を試みています
C4329W : オプションに引数がありません:<option>
C4330E : GCC のコンフィギュレーションが無効です
C4331W : スクリプトファイル <file> はスキャッタファイルとして処理されます
C4332E : via ファイル <file> の読み出し中に I/O エラーが発生しました
C4333E : via ファイル <file> を閉じる際に I/O エラーが発生しました
C4334W : コンフィギュレーションファイルの GCC バージョンが無効です - デフォルトを使用します
C4335E : コンフィギュレーションファイルに GNU 実行可能ファイルへのパスが記載されていないので、再試行できません
GCC フォールバックで指定された ARM Linux コンフィギュレーションファイルに gcc への適切なパスがない場合に表示されます。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4336W : コンパイルに失敗しました - GNU ツールで再試行します
armcc のコンパイルに失敗し、GCC フォールバックが指定された場合に表示されます。その場合、armcc は、gcc を実行してコンパイルを完了します。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4337E : GNU ツールでのコンパイルにも失敗しました
gcc が GCC フォールバック中に失敗した場合に表示されます。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4338W : GNU ツールでのコンパイルに成功しました
GCC フォールバックに成功したときに表示されます。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4339W : あいまいな変換モードオプションが指定されました - <option> を使用します
特定の変換モードを選択する場合は、複数の変換モード オプションを指定しないで下さい。変換モード オプションは次のとおりです。
  • --translate_gcc
  • --translate_g++
  • --translate_gld
『armcc ユーザガイド』の以下のセクションを参照して下さい。
C4340W : ベクトル化(-O3 で示唆)のライセンスを取得できませんでした - デフォルトで -fno-tree-vectorize になります
GCC コマンドライン変換では、-O3 を使用するとベクトル化を指定したことになります。ただし、ARM コンパイラ 4.1 以前では、コンパイラの NEON ベクトル化機能を使用するために別個のライセンスが必要になります。NEON ベクトル化ライセンスが利用できない場合、コンパイラはこの警告を生成し、ベクトル化を無効にします。ARM コンパイラ 5.0 以降では、個別の NEON ベクトル化ライセンスは必要ないため、この警告は生成されません。
『スタート ガイド』の以下のセクションを参照して下さい。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
-Onum
C4403E : __alloca_stateは定義されていません
C4419W : ダイナミックなスタックアライメントのベニアが <entity> に挿入されました
この警告は、__irq 関数を --cpu=Cortex-M3-rev0 でコンパイルして、割り込みの開始時にスタックを 8 バイト境界で整列させた場合に生成されます。
C4421W : 文字列リテラルへの書き込み
リテラル文字列を指すように割り当てられたポインタによる書き込みがあります。ANSI 標準では、この動作は定義されていません。書き込まれた場所からのその後の読み出しには、書き込みが反映されていない可能性があります。
C4435E : <entity> の参照は使用できません
C4447E : オプション '-E' と入力ファイル '<filename>' のタイプが矛盾しています
C4484E : 最上位レベルの配列引数の最小値は 1、2、4、または 8 にする必要があります
C4486W : オプション '-<optionchar>' を指定すると、入力ファイル '<filename>' は無視されます
C4487E : 変数 '<var>' からの読み出しで、オフセットが範囲外です
以下に例を示します。
void foo(void) {
  unsigned int pntr;
  pntr = (unsigned int)&pntr;
  pntr -= 4;
  pntr = *(unsigned int*)pntr;
}
C4488E : 変数 '<var>' への書き込みで、オフセットが範囲外です
C4489E : __vfp_status() 組み込み関数は、VFP を備えていないターゲットでは使用できません
C4490W : ファイル拡張子により命令セットを切り替える機能は、今後使用できなくなります
C4493E : 関数のアライメントは、1 より大きく、2 の累乗である必要があります
C4494E : 無効なグローバルレジスタ番号 <num> です。1 ~ <num> を使用できます。
C4497E : 保持制約の構文が無効です:<text>
C4498E : オプションが arm linux のターゲット設定オプションと競合しています:<option>
ARM Linux をターゲットにしている場合は、いくつかのオプションを使用する必要があります(例えば、正しい ABI バリアントオプションの選択など)。このメッセージは、互換性のないオプションが指定されたことを示すために生成されます。
『armcc ユーザガイド』の以下のセクションを参照して下さい。
非機密扱いPDF file icon PDF 版ARM DUI0496KJ
Copyright © 2010-2014 ARM.All rights reserved.