g2[i]是girl实例不是指针,不满足boy(girl *g1)的参数条件。根本原因是你这个地方的定义不是你想的那样:girl *g2 = new girl[3]; 应该改为girl **g2 = new girl*[3]; g2[2] = new girl(10,174); g2[1] = new girl(11,170);
b1[i] =new boy(&g2[i])即可。