【问题标题】:Inherited const attribute and initialization (bug?)继承的 const 属性和初始化(错误?)
【发布时间】:2013-01-11 22:50:43
【问题描述】:

我很惊讶这段代码实际上被认为是正确的(gcc 4.2.1):

class A {
public:
  const int i;
};
class B: public A {
public:
  //B() {}
};

这样我就可以让某些属性未初始化。当我尝试实例化 A 时编译器会抱怨(我当然同意),但让我实例化 B 而不会出现任何警告或错误!

但更糟糕的是,编译器不一致。当我取消注释 B 的空 ctor 时,编译器会在我实例化 B 时抱怨......对我来说似乎是一个错误,对吗?还是我在某个地方犯了错误?

【问题讨论】:

  • 您有任何警告吗?

标签: c++ inheritance attributes initialization constants


【解决方案1】:

这确实是一个编译器错误,报告了here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多