C++ C++;向类发送指针重新初始化指针类

C++ C++;向类发送指针重新初始化指针类,c++,pointers,constructor,C++,Pointers,Constructor,很抱歉,如果标题令人困惑,我们不确定这段代码实际上在做什么 Board.h-板2d阵列8x8,连接四个 计算机人工智能的Minimax.h算法 Board::Board() { for(int i=0;i<LENGTH;i++) for(int j=0;j<WIDTH;j++) place[i][j] = EMP; srand (time(NULL)); cout << "Initalized.\nReady

很抱歉,如果标题令人困惑,我们不确定这段代码实际上在做什么

Board.h-板2d阵列8x8,连接四个 计算机人工智能的Minimax.h算法

Board::Board()
{
    for(int i=0;i<LENGTH;i++)
        for(int j=0;j<WIDTH;j++)
            place[i][j] = EMP;
    srand (time(NULL));
    cout << "Initalized.\nReady to Play?\n";
    system("pause");
}

我需要向minimax类发送一个board指针,为什么在我将地址传递给另一个构造函数时它会调用构造函数?

你确定你的minimax类在构造它时没有board的实例化吗?你需要发布一个你不期望的完整但精简的行为示例。很可能,另一个Board实例是在Minimax构造函数中的某处创建的。看到它的代码会有帮助。埃里克,我已经回答了你的问题。如果您自己找到了解决方案,请将其作为答案发布。查看Minimax类声明可能也会有所帮助,因为很可能有一个董事会成员变量正在进行默认初始化,而我们没有看到。请填写Minimax类别声明。如果问题发生在当前发布的Minimax构造函数上(它没有任何可提及的功能),那么Minimax中的董事会成员var不仅仅是一个可能的答案,它是唯一的答案,解释了为什么董事会构造函数会被我们现在看到的代码调用两次。
Minimax::Minimax(Board* b)
{

    cout << "b1 in minimax" << endl;
}
Board b1;
cout << "b1 made..\n";
Minimax m (&b1);
Initalized.
Ready to Play?
Press any key to continue . . .
b1 made..
Initalized.
Ready to Play?
Press any key to continue . . .



 1 2 3 4 5 6 7 8
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
b1 in minimax
Press any key to continue . . .