小编CCh*_*ste的帖子

类变量将在基类之后初始化

我希望有一个简单的问题,我无法找到有关初始化“变量”的具体答案。这是有问题的初始化列表:Triangle.cc

Triangle::Triangle(Vector _a, Vector _b, Vector s, Point o)
    : a(_a), b(_b), Shape(o, new RectilinearAnimationStrategy(s, bBoxMaxX(), bBoxMinX(), bBoxMaxY(), bBoxMinY())){}
Run Code Online (Sandbox Code Playgroud)

我知道你必须按照类中定义的顺序初始化变量,但是当你初始化一个对象时,这种情况又如何呢?我需要ab在调用之前显式初始化Shape,以便将正确的值返回给RectilinearAnimationStrategy. 我尝试的一切都给了我

Triangle.h:在构造函数中Triangle::Triangle(Vector, Vector, Vector, Point)
Triangle.h:11:警告:Triangle::b将在
Triangle.cc:9之后初始化:警告:基础Shape
Triangle.cc:9:警告:在这里初始化时

非常感谢任何帮助,谢谢。

当前设置和给出的第一个答案都没有得到该错误,但输出没有考虑ab考虑(在调用 Shape 构造函数时未初始化)

c++ class initializer-list

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

class ×1

initializer-list ×1