Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有匹配的函数调用C++; 当试图初始化一个板的对象时,我在C++中得到了上面的错误。board的构造函数接受两个整数,因此 Board::Board(int w, int h)_C++ - Fatal编程技术网

没有匹配的函数调用C++; 当试图初始化一个板的对象时,我在C++中得到了上面的错误。board的构造函数接受两个整数,因此 Board::Board(int w, int h)

没有匹配的函数调用C++; 当试图初始化一个板的对象时,我在C++中得到了上面的错误。board的构造函数接受两个整数,因此 Board::Board(int w, int h),c++,C++,我正在尝试创建一个连接四的游戏。ConnectFour.h文件具有以下内容: Board b; 在其私有变量中,ConnectFour.cpp中的构造函数是: ConnectFour::ConnectFour() { Board b(7, 6); 显然,除其他事项外 这给了我一个错误: 在构造函数“ConnectFour::ConnectFour(int,int)”中:| 错误:调用“Board::Board()”时没有匹配的函数| 注:候选人包括:| 注:线路板::线路板(int,i

我正在尝试创建一个连接四的游戏。ConnectFour.h文件具有以下内容:

Board b;
在其私有变量中,ConnectFour.cpp中的构造函数是:

ConnectFour::ConnectFour()
{
   Board b(7, 6);
显然,除其他事项外

这给了我一个错误:

在构造函数“ConnectFour::ConnectFour(int,int)”中:|

错误:调用“Board::Board()”时没有匹配的函数|

注:候选人包括:|

注:线路板::线路板(int,int)|

注意:候选者需要2个参数,提供0个|

如果有人能帮忙,我会非常感激的


编辑:原来我有点傻。谢谢大家。

你们需要为线路板提供一个构造器,该构造器不需要任何参数就可以使用你们的
线路板b代码,或者在创建对象时需要将宽度、高度传递给对象
板b(宽度、高度)
或者您可以将板的初始化放入ConnectFour的初始化列表中


ConnectFour::ConnectFour() :
b(7,6)
{
}
这样它就有了创建ConnectFour时所需的信息


最后,您可以在父类中保留一个指向Board对象的指针,并在父类的构造函数中动态创建它。这需要更多的注意,可能还需要使用智能指针来正确处理对象的创建和销毁。

您需要为board提供一个构造函数,该构造函数不需要任何参数来处理您的
board b代码,或者在创建对象时需要将宽度、高度传递给对象
板b(宽度、高度)
或者您可以将板的初始化放入ConnectFour的初始化列表中


ConnectFour::ConnectFour() :
b(7,6)
{
}
这样它就有了创建ConnectFour时所需的信息


最后,您可以在父类中保留一个指向Board对象的指针,并在父类的构造函数中动态创建它。这需要更多的注意,可能还需要使用智能指针来正确处理对象的创建和销毁。

我猜是这样的

class board
{
public:
    board::board(int w,int h)
    {
        w = 0;
        h = 0;
    }
};

class connectFour
{
    connectFour::connectFour(int, int)
    {
        board b(7,9);
    }
};

我猜是这样的

class board
{
public:
    board::board(int w,int h)
    {
        w = 0;
        h = 0;
    }
};

class connectFour
{
    connectFour::connectFour(int, int)
    {
        board b(7,9);
    }
};

看,看不太能解决OP的问题。他是一个连接4的成员,意味着他必须比你在这里展示更多的C++体操,而不是很好的解决OP的问题。他是作为CelpTe4的成员,他必须做的比你在这里展示的更多的C++体操。