将记录传递给子程序参数C++
Passing Records to subprogram parameter C++
如何将结构传递给子程序参数?当我调用checkBelow函数时,它会给我一个错误-"CheckBellow":无法将参数2从"playerInfo"转换为"char"我以前传递过记录数组,但这是我第一次尝试传递单个记录。
struct playerInfo
{
char playerName[81];
char playerID;
};
void CheckBellow ( char board[][10], char playerID, int dropChoice );
int PlayerDrop();
void DisplayBoard ( char board[][10] );
int main()
{
playerInfo playerOne, playerTwo;
char board[9][10];
int trueWidth = 7;
int trueLength = 6;
int dropChoice;
cout << "Let's Play Connect 4" << endl << endl;
cout << "Player One please enter your name: ";
cin >> playerOne.playerName;
playerOne.playerID = 'X';
cout << "Player Two please enter your name: ";
cin >> playerTwo.playerName;
playerTwo.playerID = 'O';
DisplayBoard( board );
dropChoice = PlayerDrop();
CheckBellow( board, playerTwo, dropChoice );
DisplayBoard( board );
return 0;
}
void CheckBellow ( char board[][10], playerInfo activePlayer, int dropChoice )
{
int width = 7;
int length = 6;
do
{
if ( length == 0 )
{
cout << "That row is full, please enter a new row";
dropChoice = PlayerDrop();
length = 6;
}
if ( board[length][dropChoice] != 'X' && board[length][dropChoice] != 'O' )
board[length][dropChoice] = activePlayer.playerID;
else
--length;
}while ( board[length][dropChoice] != 'X' && board[length][dropChoice] != 'O' );
}
void CheckBellow ( char board[][10], playerInfo activePlayer, int dropChoice )
与声明不匹配
void CheckBellow ( char board[][10], char playerID, int dropChoice );
修复声明,即第二个参数char
->playerInfo
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何使用Luacneneneba API正确读取字符串和表参数
- 在派生函数中指定void*参数
- 视图中的参数推导失败:take_while
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 使用指向成员的指针将成员函数作为参数传递
- 将记录传递给子程序参数C++
- 从c++调用带有可选参数的Fortran子程序