- PR -

static constでエラー

1
投稿者投稿内容
まよかん
常連さん
会議室デビュー日: 2003/08/10
投稿数: 27
お住まい・勤務地: 大阪
投稿日時: 2003-08-21 17:12
お世話になっております。

C#の基本的な文法ですが、下記のような記述でエラーがでてしまします。
protected static const int A = 0;
エラー:Aを static に指定することはできません。

どこが悪いでしょうか。
ご存知でしたらご教授願います。
Izumi, Y.
ベテラン
会議室デビュー日: 2002/03/19
投稿数: 77
お住まい・勤務地: 東京
投稿日時: 2003-08-21 17:18
const にすれば自動的に static になります。従って、指定する必要もなければ明示的に指定することもできません。
FOX
ベテラン
会議室デビュー日: 2002/04/08
投稿数: 63
お住まい・勤務地: いなか
投稿日時: 2003-08-21 17:33
こんにちは。

確かに以下のコードはコンパイルができません。
コード:

protected static const int A = 0; 



もしするとするならば、以下の2パターンのうちどちらかでしょう。
コード:

protected static readonly int A1 = 0; 
protected const int A2 = 0; 



似てはいますがかなり違います。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2003-08-23 05:22
引用:

まよかんさんの書き込み (2003-08-21 17:12) より:

C#の基本的な文法ですが、下記のような記述でエラーがでてしまします。
protected static const int A = 0;
エラー:Aを static に指定することはできません。

どこが悪いでしょうか。


エラーの理由や正解は他の型の投稿を見てもらえば良いと思いますのでちょっと気になる事を。

コンパイル時にエラーが出たけれども、説明が簡潔すぎて意味が分からないということでしょうか?
constのドキュメントを見ると、staticは使用出来ないと書かれているはずですが、これは読まれたでしょうか?

読んでみて意味が分からないということなら、その旨記述した方が、何がわからないかがはっきりしますので良いと思います。

今回の文面だけだと、なぜ駄目なのか(エラーになるのか)は、非常に簡潔とはいえエラーメッセージに書かれていますし、ドキュメントでもその事に言及しているので、本当に知りたいことが何なのかがはっきりしません。
# メッセージだけ見て、とりあえずstaticを消すだけでも動いてしまいます。
# 試した上でその理由が知りたいのか、対処法の想像もつかないのかよく分かりません。
1

スキルアップ/キャリアアップ(JOB@IT)