求助:请高手全面解释一下形参对象直接赋值规则
以下程序经上机检验,注释部分为错误语句,
#include <iostream>using namespace std;class B{public: B(int i=0,int j=0) {m=i;n=j;cout<<"Con "<<m<<','<<n<<endl;} void Print() const {cout<<m<<','<<n<<endl;} void out() {cout<<m*n<<endl;} ~B() {cout<<"Des "<<m<<','<<n<<endl;}private: int m,n;};void fun(const B& a,B b,B c) //(const B& a,B b,const B *c)、(const B& a,B b,B *c)、(B& a,B b,B c){ a.Print(); b.out(); c.Print();}void main(){ fun((5,7),(0),(9)); //fun((5,7),(),(9));构造函数已设置默认值了为什么不能有空()?}