单选题
有如下类定义:class MyClass{int k;public:MyClass(int n):k(n){}};则下列数组定义中,错误的是( )。
【正确答案】
C
【答案解析】解析:选项A、B都使用Myclass类的构造函数,完成数组元素的初始化,数组定义正确;选项D中,隐式使用Myclass类的构造函数(接收一个int型的参数),将整数1、2、3转换为Myclass类的对象,数组定义正确;选项C中,数组前3个元素同选项D,可以完成初始化,但是第4个数组元素,需要调用Myclass类的默认构造函数,由于MyClass类已经提供了一个构造函数(非默认构造函数),所以编译器不会自动生成默认构造函数,也就无法构造第4个元素,选项C错误。故本题答案为C选项。