質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

3回答

2253閲覧

C#でstatic修飾子をつけているわけではないのにスタティック型のインスタンスは生成できないとエラーが出る

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

3クリップ

投稿2017/11/04 02:02

編集2017/11/08 21:12

コード

C#でstatic修飾子をつけているわけでもないのにスタティック型classのインスタンスは生成できないとエラーが出ます ###発生している問題・エラーメッセージ public Vert orig;のところでスタティック型の変数を宣言することは出来ませんと表示されます。 public Vert()のところで静的クラスにはコンストラクタを指定することが出来ませんと表示されます。 ###該当のソースコード ```C# public class Edge { public Edge next; public Edge pair; public Vert orig; public Face face; public Flag flag; public EdgeData data; public Edge() { flag = new Flag(); data = new EdgeData(); } } public class Vert { public Edge edge; public Flag flag; public VertData data; public Vert () { flag = new Flag(); data = new VertData(); } }

###試したこと
static修飾子をつけているわけでもないのに静的クラス扱いになっているというのは一体どういうことなのでしょうか。
さっぱりわかりません。

###補足情報(言語/FW/ツール等のバージョンなど)
C#

###助けてください(><)
困っています(´・ω:;.:...

コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2017/11/04 02:20 編集

コード部分はマークダウン記法を使ってください。質問編集画面で、コード部分の行を選択してから<code>ボタンをおすとそうできます
退会済みユーザー

退会済みユーザー

2017/11/04 03:00

定義不明なクラスが多々ありますが、それの影響はないのですか?
退会済みユーザー

退会済みユーザー

2017/11/04 03:10

自分が質問者さんのコードをコピペしてみたところ、そのようなエラーは出ませんでしたけど。質問に書いてないところが問題になっているのでは? 開発環境は何ですか?
hihijiji

2017/11/04 03:51

問題となっている現象*だけ*が再現する最小限のコードを書いてください。おそらくその過程で自己解決すると思いますが、その場合回答欄にその旨を書いて自己解決で締めてください。
退会済みユーザー

退会済みユーザー

2017/11/08 21:14

ありそうな気はしているのですが具体的に原因を突き止められていません>定義不明なクラスが多々ありますが、それの影響はないのですか?
退会済みユーザー

退会済みユーザー

2017/11/08 21:15

結構な量があり、尚且つ相互に複雑な関連性を持っているので最小限のコードでも結構なりそうな気がします。 >問題となっている現象*だけ*が再現する最小限のコードを書いてください
退会済みユーザー

退会済みユーザー

2017/11/08 21:16

Unity 2017.1.0f3(64-bit) C#です。 >開発環境は何ですか?
退会済みユーザー

退会済みユーザー

2017/11/08 21:21

要するにこのページで公開されているものはJAVAで書かれているのでそれをC#に書き換えようとしているのです(´・ω:;.:...
退会済みユーザー

退会済みユーザー

2017/11/09 00:51

情報の小出し・後出しは止めてください。上のコメント欄に書いてある Unity, JAVA 云々は上の質問欄に一番最初書けたはず。あなたがそうしなかったことにより、複数の回答者・閲覧者が少なからず無駄な労力・時間を費やしています。マナー的に問題があることを認識ください。
guest

回答3

0

ソースが複雑だといっても最低限コードの肝心な部分がわからい状況で、現象が起き得るあらゆる可能性を考えるのは読者にとっても現実的でないと思います。

せめて以下が把握できるような事実の提示があれば今の質問内容よりは状況が明確になると思います。

  • 関連するusingによる参照関係やクラス宣言のネスト関係
  • 関連する全てのクラスのnamespaceおよびクラス宣言部分('{'の前までの部分)
  • 関連するクラスのフィールド宣言(初期値やgetter/setterの定義は不要)

極端な話、疑い始めれば以下のような場合も想像できてしまいます。

イメージ説明

質問者さんが、必要な事実を残らず提示できているなら、こうした曖昧な仮定をすることなど不要ですが、一般的に読み手には質問者さんの「知識」・「問題のコードをどの程度正確に把握しているか」が見えにくいことが多いため、はっきりいえば判断の材料としては客観的な事実が一番の頼りであると思います。

質問に正確・客観的な事実が不足しているほど、読み手にとって的確な判断は困難になり、それだけ質問者側・閲覧者側双方の時間の無駄にもなりかねないと思います。

事実を提示することの重要性について強調してみたのですが、いかがでしょうか?

投稿2017/11/08 23:15

編集2017/11/09 12:39
KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

UnityであればUnityタグを付けたほうがいいです。

調べていませんが、Unity側でstatic宣言されているクラス名と被ってるとかないですか?

投稿2017/11/08 22:12

YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

EdgeData、Face、Flag、VertData クラスはそれぞれどのようなクラスでしょうか。この中に static class が含まれていたりしないでしょうか。

余談ですが、コードはマークダウン形式で入力すると非常に見やすくなるので、できればそのようにしてください。

投稿2017/11/05 12:36

twyujiro15

総合スコア217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問