CS801~2000

C# コンパイラ エラー CS1035について解説

C#のコンパイラエラーCS1035は、マルチラインコメントの開始記号/*に対して終了記号*/が記述されていない場合に発生します。

エラーが表示されると、プログラムの一部が正しく認識されず、コンパイルが中断されるため、コメント記述時は必ずペアとなる記号が存在するか確認するようにしてください。

エラーCS1035の原因解析

コメント記号の不整合

マルチラインコメントの開始記号と終了記号の役割

C#において、マルチラインコメントは/*で開始し、*/で終了します。

これらの記号は、複数行にわたるコメントとしてソースコード中の記述を無視させるために使用されます。

正しいペアが揃っていることで、コンパイラはコメントとして処理すべき範囲を正確に把握できます。

たとえば、数式をコメント内に記述する際は、a+b=cのように記述しても問題がありません。

終了記号が欠落する場合の問題点

/*で開始したマルチラインコメントに対して、対応する*/が記述されていない場合、コンパイラはコメントの終了が見つからないと判断し、エラーCS1035が発生します。

このエラーが発生すると、意図しないコード部分がコメントとして認識されるなど、プログラム全体の構文解析に支障が生じるため、正しいコメントの閉じ忘れが原因でコンパイルエラーとなるのです。

コード構文の記述ミス

ファイル終端での不具合の発生状況

ファイルの最後に/*で開始されたコメントが閉じられずに存在する場合、C#のコンパイラはファイルの終端までコメントが続いていると見なします。

その結果、プログラム全体が正しく解釈されず、エラーCS1035が発生します。

具体的には、クラスやメソッドの定義が不完全な状態となり、意図しない動作やさらなるコンパイルエラーの原因となることが確認されます。

エラー再現と実例

発生状況の具体例

コメント記号の誤使用例

以下のサンプルコードは、/*で開始したコメントが閉じられていないため、コンパイラエラーCS1035が発生する実例です。

このように、マルチラインコメントの終了記号が不足していると、ファイル全体でエラーが連鎖的に発生する可能性があります。

修正前後のコード対比

修正前のコード例

以下はエラーが発生する修正前のサンプルコードです。

// ErrorSample.cs
using System;
public class ErrorSample
{
    public static void Main()
    {
        Console.WriteLine("エラー発生のサンプルコード"); // 出力: エラー発生のサンプルコード
    }
}
/* コメント開始部
   このコメントが正しく閉じられていないためエラーが発生します
エラー CS1035 がコンパイル時に報告され、「ファイルの終わりが見つかりました。 '*/' が必要です」と表示される。

修正後のコード例

以下は、正しい終了記号*/を追加し修正されたサンプルコードです。

// CorrectSample.cs
using System;
public class CorrectSample
{
    public static void Main()
    {
        Console.WriteLine("エラー修正後のサンプルコード"); // 出力: エラー修正後のサンプルコード
    }
}
/* コメント開始部
   このコメントを正しく閉じています
*/
プログラムが正常にコンパイル・実行され、"エラー修正後のサンプルコード" が表示される。

エラー修正方法

正しいコメント記述の方法

コメント記号のペア確認の手順

コメントを記述する際は、/*で開始した場合、必ず対応する*/が存在するかどうかを確認します。

以下の手順でペアを確認することができます。

  • コードエディタのシンタックスハイライトを利用し、コメント領域が正しく色付けされているか確認する。
  • コメントブロックの開始位置と終了位置を視覚的に把握し、漏れがないか目視で確認する。
  • 複雑なコメントの場合、コード整形ツールやエディタのアウトライン機能を利用して正しいコメントブロックを維持する。

修正手順と注意点

コード修正のポイント

エラーを修正するためには、まずマルチラインコメントの開始記号と終了記号がペアになっているか確認します。

具体的な修正手順は以下のようになります。

  • コメントブロックが開始されている箇所を特定する。
  • 対応する終了記号*/が抜けている場合、漏れた箇所に正しく*/を追加する。
  • マルチラインコメント内の内容に意図しないコードが含まれていないか再確認し、不要な部分があれば削除する。

以上の手順を踏むことで、エラーCS1035の原因となるコメント記号の不整合を解消することができます。

開発環境での検証手順

コンパイラ設定の確認

Visual Studioでの設定チェック

Visual Studioを利用している場合、ソリューションエクスプローラーで対象のプロジェクトを右クリックし、プロパティを開いてコンパイルの設定を確認します。

特に「ビルド」タブや「詳細設定」で、使用しているC#のバージョンやその他の設定が正しく反映されているかどうかをチェックすることで、エラーの発生を防ぐことにつながります。

コマンドラインでの検証方法

コマンドラインからコンパイルする場合は、cscコマンドを利用してソースコードをコンパイルします。

以下のように実行することで、実際のエラーメッセージや警告を確認できます。

csc ErrorSample.cs

このコマンドを実行すると、エラーが発生する箇所や不足しているコメント終了記号が明確に表示されます。

エラー再現テストの実施

再現環境の構築方法

再現テストを行うためには、エラーが発生する状況を意図的に作り出すことが有効です。

以下の手順で再現環境を構築します。

  • 上記の修正前のコード例を使用して、コンパイル時にエラーCS1035が発生する状態を確認する。
  • 一度、意図的に/*の終了記号を削除した状態でコンパイルし、エラーメッセージを記録する。
  • 次に、正しいコード例と比較し、エラーの発生箇所および原因を明確にする。

これにより、どのような状況でエラーが発生するのかを検証し、修正方法の理解を深めることができます。

まとめ

この記事では、エラー CS1035 の原因がマルチラインコメント記号の不整合やファイル終端での記述ミスにあることが分かります。

具体例として、/**/ のペアが正しく記述されていないとコンパイルエラーが発生するケースを示し、修正前後のコードで違いを確認しました。

また、Visual Studio やコマンドラインを用いた検証手順を解説し、エラー再現環境の構築方法についても説明しています。

関連記事

Back to top button
目次へ