首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WTF错误C#:'Semestralwork.Teleport‘不包含接受2个参数的构造函数;Teleport有2个参数

WTF错误C#:'Semestralwork.Teleport‘不包含接受2个参数的构造函数;Teleport有2个参数
EN

Stack Overflow用户
提问于 2012-01-06 03:38:18
回答 2查看 216关注 0票数 0

“有趣”的事情发生了:

注意: Vector3是结构3x浮点坐标x,y,z

代码语言:javascript
复制
class Teleport {

        Vector3 currentPosition;
        Vector3 destinationPosition;

        Teleport(Vector3 currentPosition, Vector3 destinationPosition) 
        {
            this.currentPositon = currentPositon;
            this.destinationPosition = destinationPosition;

            //...
        }
}

当我从另一个类中转换这段代码时,这里有一个问题:

注意:数组teleportPositions和destinationPositions是Vector3[]类型,它们不是空的

代码语言:javascript
复制
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是一个名称空间,所有类都在这个名称空间中。

我不明白,但我想我仍然可以数到两:

现在有人吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-06 04:15:37

构造函数的默认访问修饰符将其列为私有,这意味着只能从Teleport类中访问它。您希望它是public (或者本质上是基于类的默认internal访问修饰符的internal ),如下所示:

代码语言:javascript
复制
class Teleport {
    public Teleport(Vector3 currentPosition, Vector3 destinationPosition) 
    {
        //...
    }
}
票数 2
EN

Stack Overflow用户

发布于 2012-01-06 03:46:10

实际上,我认为你的问题是这句话:

代码语言:javascript
复制
Vector3 teleportList = new Teleport[NUMBER_OF_TELEPORTS]

您将创建一个名为teleportList类型的Vector3变量,并尝试将其实例化为一个Teleport对象数组。

应该是:

代码语言:javascript
复制
Teleport[] teleportList = new Teleport[NUMBER_OF_TELEPORTS];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8753081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档