【发布时间】:2014-06-13 12:25:10
【问题描述】:
我创建了一个类(称为 Mood),它包含一个 int、一个 Vector4 和一个浮点数。
我正在尝试使用以下代码将其中三个对象放在一个数组中:
static Vector4 p1 = new Vector4 (0,0,100,0);
static Vector4 p2 = new Vector4 (80,0,0,80);
static Vector4 p3 = new Vector4 (-80,0,0,80);
private Mood[] moods = new Mood[10];
moods[0] = new Mood (1,p1,0.0f);
moods[1] = new Mood (2,p2,0.0f);
moods[2] = new Mood (3,p3,0.0f);
但是,这给了我以下我不太明白的错误:
无效的等级说明符预期,或] 类、结构或接口成员声明中的意外符号新
谁能解释我做错了什么?
类看起来像这样
public class Mood
{
public int id = 0;
public Vector4 pos = null;
public float dist = 0.0f;
public Mood(int inID, Vector4 inPos, float inDist)
{
id = inID;
pos = inPo;
dist = inDist;
}
}
【问题讨论】:
-
您的初始化语句基本上应该在构造函数中。你不能在类声明的顶层有一个赋值语句。
-
抱歉,您能解释一下您的意思吗?我的班级中有一个构造函数(已编辑问题以包含班级)
-
@JonSkeet 很好的问题,oyu 可以举个例子来说明应该如何重新编写类吗?
-
您在
Mood中有一个构造函数,但您没有告诉我们哪个类包含p1、p2、p3和moods的声明 - 它是that 类的构造函数,您需要将初始化移入。