コンパイラ エラー (C3300 - C3399)
ドキュメントのこのセクションの記事では、コンパイラによって生成されるエラー メッセージの一部について説明します。
重要
Visual Studio のコンパイラとビルド ツールからは、さまざまな種類のエラーと警告が報告されます。 エラーや警告の検出後、ビルド ツールではコードの意図が仮定され、処理の続行が試行されるため、さらに多くの問題が同時に報告されることがあります。 ツールによるこの仮定が誤っていると、それ以降のエラーや警告がプロジェクトに適用されない場合があります。 プロジェクト内の問題を解決するときは、必ず、報告された最初のエラーまたは警告から開始し、多くの場合はリビルドしてください。 1 つの修正によって、その後のエラーが多数解消される可能性があります。
Visual Studio の特定の診断メッセージのヘルプを見るには、[出力] ウィンドウで選択し、F1 キーを押します。 Visual Studio によって、そのエラーのドキュメント ページが開きます (存在する場合)。 ページの上部にある検索ツールを使用して、特定のエラーまたは警告に関する記事を検索することもできます。 または、ツール別のエラーと警告の一覧を参照し、このページの目次に入力します。
注意
すべての Visual Studio エラーまたは警告が文書化されているわけではありません。 多くの場合、診断メッセージでは利用可能なすべての情報が提供されます。 F1 を使用してこのページにアクセスし、エラーまたは警告メッセージに追加の説明が必要と思われる場合は、お知らせください。 このページのフィードバック ボタンを使用すると、GitHub でドキュメントに関する問題を提起できます。 エラーまたは警告が間違っていると思われる場合、またはツールセットに別の問題が見つかった場合は、Developer Community サイトで製品の問題を報告してください。 また、フィードバックを送信し、IDE 内でバグを入力することもできます。 Visual Studio でメニュー バーに移動し、[ヘルプ] > [フィードバックの送信] > [問題の報告] を選択するか、[ヘルプ] > [フィードバックの送信] > [提案の送信] を使用して提案を送信します。
Microsoft Docs Q&A フォーラムで、エラーと警告に関する追加のサポートが見つかる場合があります。 または、Visual Studio C++ Developer Community サイトでエラーまたは警告番号を検索します。 Stack Overflow でソリューションを検索することもできます。
その他のヘルプとコミュニティ リソースへのリンクについては、Visual C++ のヘルプとコミュニティに関するページを参照してください。
エラー メッセージ
| エラー | Message |
|---|---|
| コンパイラ エラー C3300 | 'symbol': IDL 'value' のフォーマットが正しくありません。 |
| コンパイラ エラー C3301 | 'coclass': コクラスを 'symbol' インターフェイスに指定することはできません。 |
| コンパイラ エラー C3302 | 'identifier': 識別子に number 文字以上含まれています。 |
| コンパイラ エラー C3303 | 'attribute': 属性は 'type' 上でのみ使用可能です。 |
| コンパイラ エラー C3304 | 互換性のために残されています。 |
| コンパイラ エラー C3305 | 互換性のために残されています。 |
| コンパイラ エラー C3306 | 'template': 名前のないクラス は許可されていません。 |
| コンパイラ エラー C3307 | 'module': IDL モジュールを作成できません。 |
| コンパイラ エラー C3308 | ' function': インポートされたクラスを通じた直接呼び出しはサポートされていません。 |
| コンパイラ エラー C3309 | 'macro/keyword': モジュール名をマクロ、またはキーワードにすることはできません |
| コンパイラ エラー C3310 | 'identifier': モジュール名が競合しています。 |
| コンパイラ エラー C3311 | モジュール属性はグローバル スコープで定義されなければなりません。 |
| コンパイラ エラー C3312 | 型 'type' に対して呼び出し可能な 'identifier' 関数が見つかりません |
| コンパイラ エラー C3313 | 'identifier': 変数に型 'type' を含めることはできません |
| コンパイラ エラー C3314 | 'symbol': サポートされた IDL モジュール タイプではありません。 |
| コンパイラ エラー C3315 | ' function': メンバー関数でなければなりません。 |
| コンパイラ エラー C3316 | 'type': サイズが不明の配列は範囲ベースの for ステートメントで使用できません |
| コンパイラ エラー C3317 | 'identifier': オーバーロード関数は、範囲ベースの for ステートメントで式として使用できません。 |
| コンパイラ エラー C3318 | 'type': 配列の要素型に 'auto' を含めることはできません。 |
| コンパイラ エラー C3319 | 互換性のために残されています。 |
| コンパイラ エラー C3320 | 'type': 型には、モジュール 'name' プロパティと同じ名前を指定することはできません |
| コンパイラ エラー C3321 | 初期化子リストは、このコンテキストでは無効です |
| コンパイラ エラー C3322 | 'property': 属性 'attribute' に対する有効なプロパティではありません。 |
| コンパイラ エラー C3323 | 関数宣言に 'alignas' および '__declspec(align)' を使用することはできません |
| コンパイラ エラー C3324 | 'property': 属性 'attribute' 内に複数プロパティが見つかりました。 |
| コンパイラ エラー C3325 | 'attribute': 属性内の引数が多すぎます。 |
| コンパイラ エラー C3326 | 'value': プロパティ 'property' (属性 'attribute' の) に対して有効な値ではありません。 |
| コンパイラ エラー C3327 | 'property': 属性 'attribute' のプロパティに対する値を指定する必要があります。 |
| コンパイラ エラー C3328 | 'attribute': 属性に十分な引数がありません。 |
| コンパイラ エラー C3329 | 構文エラー: 'token2' ではなく 'token1' が必要です |
| コンパイラ エラー C3330 | 'function': 関数は配列 'type' を返すことはできません |
| コンパイラ エラー C3331 | 'identifier': パラメーター上の属性は COM インターフェイスおよびコクラスでのみ許可されます。 |
| コンパイラ エラー C3332 | 'property': 文法が一致しません、プロパティ 'property' は必要かつ既定値を持っています。 |
| コンパイラ エラー C3333 | 'library': 壊れたタイプ ライブラリは #import できません |
| コンパイラ エラー C3334 | 壊れているタイプ ライブラリは #import できません |
| コンパイラ エラー C3335 | 'identifier': コクラス 'class' に対して最大 1 つの既定のインターフェイスを指定できます。 |
| コンパイラ エラー C3336 | この操作はクラス スコープで実行されなければなりません。 |
| コンパイラ エラー C3337 | 'identifier': defaultvtable をコクラス 'class' のイベント ソースに指定する必要があります。 |
| コンパイラ エラー C3338 | 'identifier': コクラス 'class' に対して、イベントソースでもある既定のインターフェイスを最大 1 つ指定できます。 |
| コンパイラ エラー C3339 | テンプレートの template パラメーターでは、パラメーター リストの後に 'class' または 'typename' を指定する必要があります |
| コンパイラ エラー C3340 | 'identifier': コクラス 'class' で、インターフェイスの設定を同時に 'restricted' と 'default' にすることはできません |
| コンパイラ エラー C3341 | 'interface': defaultvtable インターフェイスの設定は 'dual' か 'custom' のみです。 |
| コンパイラ エラー C3342 | 'identifier': あいまいな属性です。 |
| コンパイラ エラー C3343 | 'class::name': 属性識別子の文字が多すぎます。 |
| コンパイラ エラー C3344 | 'symbol' の明示的な特殊化または部分的特殊化のいずれも定義できません |
| コンパイラ エラー C3345 | 'name': モジュール名に対する無効な識別子です。 |
| コンパイラ エラー C3346 | 名前空間ではないスコープでエクスポートされた宣言 |
| コンパイラ エラー C3347 | 'argument': 必要な引数が属性 attribute-name 内で指定されていません。 |
| コンパイラ エラー C3348 | エクスポートされたテンプレートは、現在の C++ 標準の一部ではありません |
| コンパイラ エラー C3349 | 'class::member': マルチキャスト属性はプロバイダー プロバイダー名によって既に実装されています |
| コンパイラ エラー C3350 | ' function': delegate コンストラクターには number つの引数が必要です |
| コンパイラ エラー C3351 | 'function': NULL オブジェクト インスタンスを delegate コンストラクターに渡す場合、静的メンバー関数のアドレスも渡す必要があります。 |
| コンパイラ エラー C3352 | 'function': 指定された関数は delegate の型 'type' と一致しません。 |
| コンパイラ エラー C3353 | 'identifier': デリゲートは |
| コンパイラ エラー C3354 | 'identifier': デリゲートを作成するための関数に、戻り値の型 'type' を指定することはできません。 |
| コンパイラ エラー C3355 | 'class::member': マルチキャスト属性はプロバイダー 'provider1' をリッスンしますが、プロバイダー 'provider2' に実装されます。 |
| コンパイラ エラー C3356 | 'identifier': 完全修飾名でマルチキャスト属性を呼び出すことができません |
| コンパイラ エラー C3357 | 'attribute': 属性があいまいです。完全修飾名を使用してください。 |
| コンパイラ エラー C3358 | 'symbol': シンボルが見つかりません |
| コンパイラ エラー C3359 | 'specialization': テンプレートを特定できません。 |
| コンパイラ エラー C3360 | 'string': name を作成できません |
| コンパイラ エラー C3361 | action するコンテキストがありません。 |
| コンパイラ エラー C3362 | 'class::member': マルチキャスト属性が実装されていません。 |
| コンパイラ エラー C3363 | 'identifier': 'typeid' のみを型に適用できます |
| コンパイラ エラー C3364 | ' function': delegate コンストラクターの引数が無効です。デリゲート ターゲットはメンバー関数のポインターである必要があります。 |
| コンパイラ エラー C3365 | 演算子 'operator': 型 'type' および 'type' の異なるオペランドです |
| コンパイラ エラー C3366 | 'member': |
| コンパイラ エラー C3367 | ' function': バインドされていないデリゲートを作成するために静的関数を使用することはできません |
| コンパイラ エラー C3368 | 'declarator': IDL の無効な呼び出し規約 |
| コンパイラ エラー C3369 | 'module': 既に定義された idl_module |
| コンパイラ エラー C3370 | 'module': 未定義の idl_module |
| コンパイラ エラー C3371 | 'idl_module': 'name' のプロパティのみ指定できます。 |
| コンパイラ エラー C3372 | 最低 1 つのインターフェイスをコクラスの属性 'attribute' に指定しなければなりません |
| コンパイラ エラー C3373 | 属性 'attribute' はコクラス以外で引数を必要としません |
| コンパイラ エラー C3374 | delegate インスタンスを作成する場合以外に、'function' のアドレスを指定できません |
| コンパイラ エラー C3375 | 'function': あいまいなデリゲート関数です |
| コンパイラ エラー C3376 | 'template': 静的データ メンバー テンプレートのみが使用できます |
| コンパイラ エラー C3377 | 'decltype(auto)' は new 式では使用できません (2022 年Visual Studio廃止)。 |
| コンパイラ エラー C3378 | 宣言はモジュール インターフェイス ユニットのみからエクスポートできます |
| コンパイラ エラー C3379 | 'class': 入れ子になったクラスに宣言の一部としてアセンブリ アクセス指定子を含めることはできません。 |
| コンパイラ エラー C3380 | 'specifier': 無効なアセンブリ アクセス指定子です。'public' と 'private' のみ使用できます |
| コンパイラ エラー C3381 | 'specifier': アセンブリ アクセス指定子は、/clr オプションと共にコンパイルされたコードでのみ使用できます |
| コンパイラ エラー C3382 | 'sizeof' は /clr:safe でサポートされていません |
| コンパイラ エラー C3383 | 'operator new' は /clr:safe でサポートされていません |
| コンパイラ エラー C3384 | 'type': 値の制約および ref 制約を同時に使用することはできません |
| コンパイラ エラー C3385 | 'function': DllImport カスタム属性を含む関数は、クラスのインスタンスを返せません |
| コンパイラ エラー C3386 | 'type': __declspec(dllexport)/__declspec(dllimport) は |
| コンパイラ エラー C3387 | 'member': __declspec(dllexport)/__declspec(dllimport) は |
| コンパイラ エラー C3388 | 'token': 制約として使用できません。解析を続行するために 'value' を使用します |
| コンパイラ エラー C3389 | __declspec(specifier) は /clr:pure または /clr:safe と共に使用することはできません |
| コンパイラ エラー C3390 | 'type': ジェネリック 'generic_type' のジェネリック パラメーター 'parameter' の型引数が無効です。参照型でなければなりません |
| コンパイラ エラー C3391 | 'type': ジェネリック パラメーター 'parameter' (ジェネリック 'generic_type') の型引数が無効です。Null 非許容の値型でなければなりません |
| コンパイラ エラー C3392 | 'type': ジェネリック パラメーター 'parameter' (ジェネリック 'generic_type') の型引数が無効です。パブリックのパラメーターのないコンストラクターを含んでいなければなりません |
| コンパイラ エラー C3393 | 制約句の構文エラー: 'identifier' は型ではありません |
| コンパイラ エラー C3394 | 制約句の構文エラー: 'symbol' が見つかりましたが、型を指定しなければなりません |
| コンパイラ エラー C3395 | 'function': __declspec(dllexport) は、__clrcall 呼び出し規約を伴う関数に適用することはできません |
| コンパイラ エラー C3396 | 'class.member': カスタム属性が 'namespace' で見つかりませんでした |
| コンパイラ エラー C3397 | Aggregate の初期化は、既定引数では使用できません |
| コンパイラ エラー C3398 | 'operator': 'type' から 'type' に変換できません。 ソース式は関数シンボルでなければなりません |
| コンパイラ エラー C3399 | 'type': ジェネリック パラメーターのインスタンスを作成するときに、引数を指定することはできません |
関連項目
C/C++ コンパイラとビルド ツールのエラーと警告
コンパイラ エラー (C2000 - C3999、C7000 - C7999)