为什么无法创建空类的const对象

Hai*_*ang 11 c++ const empty-class

#include <iostream>

class A {
   public:
      void foo() const {
          std::cout << "const version of foo" << std::endl;
      }
      void foo() {
          std::cout << "none const version of foo" << std::endl;
      }
};

int main()
{
  A a;
  const A ac;
  a.foo();
  ac.foo();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码无法编译,你能不能告诉我为什么?

Joh*_*itb 13

你需要初始化它.这是规范的已知问题.

  • 哈!报告缺陷十年后:"这个问题应该再次出现......"我不认为这个问题已经解决了C++ 0x. (2认同)