繁体   English   中英

访问 class 中的结构成员时出现问题

[英]Problem accessing member of struct inside a class

我正在 c++ 中制作战舰棋盘游戏,并且在访问我在其中一个课程中声明的结构时遇到问题。

class Ship {
    typedef struct {
        int x;
        int y;
    }Start;
    typedef struct {
        int x;
        int y;
    }End;
    bool isAfloat;
    
    Start _start;
    End _end;

public:
    Ship(int start_x, int start_y, int end_x, int end_y);

我试图以各种可以想到的方式去做,但我显然在这里遗漏了一些东西。

Ship::Ship(int start_x, int start_y, int end_x, int end_y):
    _start.x(start_x), //error, expected "(" where the "." is 
    _start.y(start_y),
    _start.x(end_x),
    _end.y(end_y)
    {}

任何帮助表示赞赏。

您需要直接初始化整个 object,而不是单独初始化它们的成员。 例如

Ship::Ship(int start_x, int start_y, int end_x, int end_y):
    isAfloat ( ...true_or_false...), // better to initialize it too
    _start {start_x, start_y}, 
    _end {end_x, end_y}
    {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM