"错误:函数不接受4个参数"但确实如此

时间:2015-10-11 21:47:50

标签: c++ function arguments

当我尝试调用一个函数时,我得到一个错误,即"函数不带4个参数"但是我已经检查过并重新检查了,这个函数确实需要4个参数,而且我传递了正确类型和所有内容的参数。这是相关代码:

调用功能:

brain.minimax(board, board.getDisc('c'), board.getDisc('c'), 0);

Brian class中的函数声明:

void minimax(Board board, int who, int currentCheck, int iter);

功能定义:

void Brain::minimax(Board board, int who, int currentCheck, int iter)
{
//code
}

我以相同的方式在程序的其他位置调用minimax()(据我所知),他们不会抛出任何错误。

getDisc()函数在Board类的函数声明和其定义中返回一个int。我是否遗漏了一些明显的东西,还是有其他原因可能导致这个错误而不是显而易见的?在此先感谢您的任何帮助

1 个答案:

答案 0 :(得分:0)

这可能是一些宏观的废话,可能包括一些狡猾的C头。如果我没记错的话,Windows.h #defines min和max,或类似的东西。

尝试在呼叫站点之前添加#undef minimax,或者检查您喜欢的环境中的标识符以确定它实际上是什么。如果它将其显示为宏,则可以#undef it。