“有趣”的事情发生了:
注意: Vector3是结构3x浮点坐标x,y,z
class Teleport {
Vector3 currentPosition;
Vector3 destinationPosition;
Teleport(Vector3 currentPosition, Vector3 destinationPosition)
{
this.currentPositon = currentPositon;
this.destinationPosition = destinationPosition;
//...
}
}当我从另一个类中转换这段代码时,这里有一个问题:
注意:数组teleportPositions和destinationPositions是Vector3[]类型,它们不是空的
Teleport[] teleportList = new Teleport[NUMBER_OF_TELEPORTS]
for (int i = 0; i < NUMBER_OF_TELEPORTS; i++)
{
Vector3 actual = teleportPositons[i];
Vector3 dest = destinatonPositions[i];
teleportList[i] = new Teleport(actual,dest); //there is the problem
}Visual说:‘Semestralwork.Teleport’不包含接受2个参数的构造函数。Semestralwork是一个名称空间,所有类都在这个名称空间中。
我不明白,但我想我仍然可以数到两:
现在有人吗?谢谢。
发布于 2012-01-06 04:15:37
构造函数的默认访问修饰符将其列为私有,这意味着只能从Teleport类中访问它。您希望它是public (或者本质上是基于类的默认internal访问修饰符的internal ),如下所示:
class Teleport {
public Teleport(Vector3 currentPosition, Vector3 destinationPosition)
{
//...
}
}发布于 2012-01-06 03:46:10
实际上,我认为你的问题是这句话:
Vector3 teleportList = new Teleport[NUMBER_OF_TELEPORTS]您将创建一个名为teleportList类型的Vector3变量,并尝试将其实例化为一个Teleport对象数组。
应该是:
Teleport[] teleportList = new Teleport[NUMBER_OF_TELEPORTS];https://stackoverflow.com/questions/8753081
复制相似问题