首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造函数VDM++中出错

构造函数VDM++中出错
EN

Stack Overflow用户
提问于 2012-12-03 22:59:46
回答 1查看 244关注 0票数 1

我在VDM++ ToolBox学术上遇到了一个愚蠢的错误。

当我试图运行一个操作时,它给出了这个错误:

代码语言:javascript
复制
Run-Time Error 280: No constructor with this parameter list is in scope
value: "Game"

我的构造函数是:

代码语言:javascript
复制
public Game: Date * Team * Team ==> Game
Game(d,t1,t2) == (
    matchday := d;
    host := t1;
    visitor := t2;
    return self;
);

我在这里称它为:

代码语言:javascript
复制
game := new Game(matchday1day1,groupA.teams(2),groupA.teams(3));

我有一份声明:

代码语言:javascript
复制
public groupA : Group;
public matchday1day1 : Date;

和(分组):

代码语言:javascript
复制
public teams : seq of Team;

错误指向Game的第一个字母。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2012-12-05 03:52:33

如果我没看错你对模型的描述,那么它应该是这样的:

代码语言:javascript
复制
class Group

instance variables
public teams : seq of Team := [new Team(),new Team(),new Team()];
end Group

class Team
end Team

class Date
end Date

class Game

instance variables
matchday: Date;
host : Team;
visitor : Team;

operations
public Game: Date * Team * Team ==> Game
Game(d,t1,t2) == (
    matchday := d;
    host := t1;
    visitor := t2;
    return self;
);
end Game

class Test
instance variables

public groupA : Group := new Group();
public matchday1day1 : Date := new Date();

operations

public test : ()==>()
test()== (
dcl game : Game;
 game := new Game(matchday1day1,groupA.teams(2),groupA.teams(3)) ;
)

end Test

我在其中添加了Test并初始化了变量。

我看不出有什么问题,事实上,它也可以在Overture中运行,这是另一个用于VDM的开源工具套件。我认为你的规格是正确的VDM。在Overture IDE中尝试一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13685863

复制
相关文章

相似问题

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