今回の記事では、C言語やC++の開発環境で発生するコンパイラエラーC2792について簡潔に説明します。 エラーは、__superキーワード使用時に、後ろに「::」が必要なところで誤ったトークンを使用した場合に発生します。 サンプルコードを通
続きを読む »この解説では、Microsoft Visual Studio環境で発生するコンパイラ エラー C2793について説明します。 主にC++で見られるエラーですが、C言語と混同されることもあります。 例えば、__super::の後に識別子やop
続きを読む »C2794エラーは、派生クラスから基底クラスの存在しないメンバー関数を呼び出そうとした際に発生します。 たとえば、基底クラスに関数mfが定義されているにもかかわらず、派生クラスで__super::f()と呼び出すと、このエラーが表示されます
続きを読む »この記事はC/C++の開発環境で発生するコンパイラエラーC2795について説明します。 superを使ってメンバー関数以外のメンバーにアクセスしようとすると発生するこのエラーの原因や具体的な修正方法を解説します。 Microsoft Vis
続きを読む »Microsoft C++コンパイラのC2797エラーは、Visual Studio 2013以前の環境で、メンバー初期化子リストや非静的データメンバー初期化子内のリスト初期化が実装されていないため発生します。 その結果、コードが暗黙の関数
続きを読む »Visual C++ を使用する際、C2798 エラーが発生する場合があります。 これは __super を使ったときに、複数の基底クラスに同名メンバーが存在してあいまいな参照となるためです。 エラーを解消するには、継承リストの整理やメンバ
続きを読む »c2800は、Microsoft Visual C++のコンパイラが、禁止されている演算子のオーバーロードを試みた際に発生するエラーです。 C言語ではオーバーロードの概念自体が存在しませんが、C++のコード内でメンバーアクセス演算子やスコー
続きを読む »C2801エラーは、オーバーロードされた演算子がクラスや構造体の非静的メンバーとして正しく定義されていない場合に発生します。 例えば、operator[]やoperator=などがクラス外やstaticとして定義されるとエラーが表示されます
続きを読む »コンパイラエラー C2802 は、C++環境で静的メンバー関数として演算子を定義する際、引数が不足している場合に発生します。 演算子オーバーロードでは、少なくとも1つのパラメーターを指定する必要があり、例えばstatic operator+
続きを読む »C2803エラーは、Visual StudioなどのC++コンパイラで、オーバーロードされた演算子の宣言時にクラス型のパラメーターが指定されていない場合に発生します。 たとえば、operator<を実装するときに引数をポインター型のま
続きを読む »C2755はC++のテンプレート使用時に発生するコンパイルエラーです。 部分特殊化する非型テンプレートパラメータは単純な識別子でなければならず、計算式や複雑な式は使えません。 たとえば、struct A<I, I*5>と記述する
続きを読む »この記事では、Microsoft Visual Studio環境で発生するコンパイラ エラー C2756について説明します。 C++のテンプレートを利用する際、部分特殊化で既定のテンプレート引数を指定するとエラーが生じます。 サンプルコード
続きを読む »この記事では、C言語やC++の環境で発生するコンパイルエラーC2757について説明します。 エラーは、既に定義されているシンボル名を名前空間として使用しようとする際に発生します。 具体例として、例えばNesというシンボルと名前空間の競合が取
続きを読む »コンパイラ エラー C2758は、参照型のメンバー変数がコンストラクターの初期化リストで正しく初期化されていないときに発生します。 C++では、参照型やconst修飾のメンバーは必ず初期化リストで値を指定する必要があります。 例えば、A(i
続きを読む »コンパイラ エラー C2760は、C言語やC++でコード記述時に誤ったトークンや不足している記号が原因で発生する構文エラーです。 例えば、キャスト演算子の誤用やラムダ式内の記述ミスでこのエラーが出ることがあります。 正しい文法を再確認する際
続きを読む »Microsoft C++で発生するエラーC2761は、クラスや構造体で既に宣言されたメンバー関数を再宣言しようとする際に表示されます。 例えば非静的メンバー変数や関数の重複定義が原因となります。 C言語の環境でも類似の定義ミスが起こる場合
続きを読む »エラー C2762は、テンプレート引数として無効な式が指定された際に発生します。 /Zaオプションを使用している環境で、整数をポインターへ暗黙的に変換しようとするとこのエラーとなります。 具体例として、適切なキャストが行われていない場合に「
続きを読む »Visual C++で発生するエラー C2764は、テンプレートの部分特殊化を行う際に、引数として渡されたパラメーターが使用されずに推論できない場合に表示されます。 C/C++の環境下でコンパイル中に出力されるため、テンプレート定義を見直し
続きを読む »エラー C2765は、Microsoftコンパイラにおいて関数テンプレートの明示的特殊化で既定の引数を指定すると発生します。 C++の仕様では、明示的特殊化には既定引数を含めることが許されていませんので、コード内で既定引数を削除するなどの修
続きを読む »