继承的const属性和初始化(bug?)

Jea*_*nès 6 c++ inheritance attributes initialization const

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

class A {
public:
  const int i;
};
class B: public A {
public:
  //B() {}
};
Run Code Online (Sandbox Code Playgroud)

这样我就可以让一些属性非初始化了.编译器在我尝试实例化A时抱怨(当然我同意),但让我在没有任何警告或错误的情况下实例化B!

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

Mik*_*our 3

这确实是一个编译器错误,报告在这里