A::A():a(10),b(c)//常量和引用都得在初始化列表中初始化{ c=a;//没有不妥 b是c的引用 而c=a;只是将a的值赋给了变量c}
class A{ public: A(); ~A(){}; private: const int a; int &b; int c;};A::A():a(10),b(c){}此处a为常量,而c已经被定义为等于b,而b不是常量,不能再同时在被定义为c=a,以上敬请参考。