初始化列表

时间:2015-02-18 03:50:46

标签: c++ initializer

point2d是一个包含两个双变量x和y的结构。

Projectile::Projectile(Point2D p1, double x1, double y1){
    : xVel(x1), yVel(x1), pos.x(p1.x), pos.y(p1.y) { } 
}

给出一条错误消息,说明预期的表达式: 任何想法,不是数据类型的问题因为都是双重的?

1 个答案:

答案 0 :(得分:5)

您需要删除一组额外的大括号:

Projectile::Projectile(Point2D p1, double x1, double y1){ // <-- here
    : xVel(x1), yVel(x1), pos.x(p1.x), pos.y(p1.y) { } 
} // <-- here

应改为:

Projectile::Projectile(Point2D p1, double x1, double y1)
    : xVel(x1), yVel(x1), pos.x(p1.x), pos.y(p1.y) { }