为什么不调用函数? C ++

时间:2015-11-10 22:52:40

标签: c++ function class

很抱歉,如果它是愚蠢的,我只是在学习C ++,我找不到任何理由为什么函数不被调用。

我有这个机器人类和一个具有2个类(机器人)参数的函数,而我没有得到任何错误,check_S函数永远不会运行。

也可以随意更正我在代码中看到的任何不良做法。感谢

以下部分代码:

#include <iostream>
using namespace std;

class robot
{
    (.....)
};

    robot::robot()    
    {
        x = 0;
        y = 0;
        S = 0;
        E = 0;
        C = 0;
    }

void check_S(robot robot1, robot robot2);

int main() 
{
    robot robot1;
    robot robot2;

    void check_S(robot robot1, robot robot2);
}

void check_S(robot robot1, robot robot2)
{
    cout << " in the function  " << endl;
    if ( robot1.robot::get_x() == robot2.robot::get_x() || robot1.robot::get_y()      == robot2.robot::get_y()
         || (robot1.robot::get_x() - robot1.robot::get_y()) ==   (robot2.robot::get_x() - robot2.robot::get_y())
         || (robot1.robot::get_x() + robot1.robot::get_y()) == (robot2.robot::get_x() + robot2.robot::get_y())){

        robot1.robot::set_S(robot1.robot::get_S()+1);
        cout << " s changed to  " << robot1.S << endl;
    }
}

1 个答案:

答案 0 :(得分:2)

这一行:

void check_S(robot robot1, robot robot2);

是一个函数声明(因为函数名和参数之前的类型名称),而不是函数调用。 要调用该函数,请写:

check_S(robot1, robot2);