这个错误通常发生在试图使用类类型构造函数的括号语法来初始化对象时。例如,在以下代码中:
Diceset mySet = {1, 2, 3, 4, 5, 6};
编译器将尝试使用构造函数来创建一个Diceset对象,但是这会失败,因为Diceset类没有定义适当的构造函数。
要解决这个问题,可以通过定义一个接受初始化列表的构造函数来允许类类型使用括号语法进行构造,例如:
class Diceset {
public:
Diceset(std::initializer_list
现在,可以使用以下代码来正确地构造一个Diceset对象:
Diceset mySet = {1, 2, 3, 4, 5, 6};
这将在构造函数中创建一个初始化列表,并将其传递给Diceset构造函数,以便按所需方式将每个骰子的点数添加到对象中。