C - 为什么此代码有此错误:错误:第 15 行和第 79 行"conflicting types for ‘create_roulette_numbers’"


// BINGO Game 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
#define SPN 7
#define BTT 99 
int create_random_number(int released_numbers[SPN*SPN], int released_numbers_count);
void create_card_game(int matriz[SPN][SPN]);
void print_card_game(int matriz[SPN][SPN]);
void create_roulette_numbers(int lista[BTT]);
bool iguality_hunter_matriz(int released_numbers[SPN*SPN], int released_numbers_count, int random_number);
int create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);
void create_roulette(int lista[BTT]);
bool iguality_hunter_list(int roulette_released_numbers[BTT], int roulette_released_numbers_count, int roulette_numbers);
int create_random_number(int released_numbers[SPN*SPN], int released_numbers_count)
{
int random_number;
do
{
random_number=rand()%100;
}
while(iguality_hunter_matriz(released_numbers, released_numbers_count, random_number));

return random_number;
}

void create_card_game(int matriz[SPN][SPN])
{
int released_numbers[SPN*SPN];
int released_numbers_count = 0;
int random_number;
for(int i=0; i<SPN; i++)
for(int j=0; j<SPN; j++)
{
random_number = create_random_number(released_numbers, released_numbers_count);
matriz[i][j] = random_number;
released_numbers[released_numbers_count] = random_number;
released_numbers_count++;
}
}

bool iguality_hunter_matriz(int released_numbers[SPN*SPN], int released_numbers_count, int random_number)
{
for(int i=0; i<released_numbers_count; i++)
{
if (released_numbers[i] == random_number)
return true;
}
return false;
}

void print_card_game(int matriz[SPN][SPN])
{
printf("n");
for(int i=0; i<SPN; i++)
{
for(int j=0; j<SPN; j++)
{
printf("|");
printf(" %2d ", matriz[i][j]);
}
printf("|n");
}
printf("n");
}

int create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count)
{
int roulette_numbers;
do
{
roulette_numbers=rand()%100;
}
while(iguality_hunter_list(roulette_released_numbers, roulette_released_numbers_count, roulette_numbers));

return roulette_numbers;
}

bool iguality_hunter_list(int roulette_released_numbers[BTT], int roulette_released_numbers_count, int roulette_numbers)
{
for(int i=0; i<roulette_released_numbers_count; i++)
{
if (roulette_released_numbers[i] == roulette_numbers)
return true;
}
return false;
}

void create_roulette(int lista[BTT])
{
int roulette_released_numbers[BTT];
int roulette_released_numbers_count = 0;
int roulette_numbers;
for(int i=0; i<BTT; i++)
{
roulette_numbers = create_roulette_numbers(roulette_released_numbers, roulette_released_numbers_count);
lista[i] = roulette_numbers;
roulette_released_numbers[roulette_released_numbers_count] = roulette_numbers;
roulette_released_numbers_count++;
}
}

void print_roulette_number()
{
int n;
n=create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);
printf("e o numero da roleta e: %d", n);
}

int main()
{
int card_game[SPN][SPN];
int roulette[BTT];

srand(time(NULL));

create_card_game(card_game);
print_card_game(card_game);

return 0;
}

我正在尝试创建一个宾果游戏,其中游戏卡有49个随机数字,但它们不会相互重复,直到那时,问题开始了,当我试图对轮盘赌中出现的数字做同样的事情时,这也将是随机的,不会重复,为此,我调整了我为游戏卡的后代创建的功能,但在这种情况下最终给出了这个问题:;"create_roulette_numbers"的冲突类型;在第15行和第79行。也给出了这个问题:

error: too few arguments to function ‘create_roulette_numbers’
124 |     n=create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);
error: too few arguments to function ‘create_roulette_numbers’
124 |     n=create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);

我真的不知道该怎么修理。

此记录

n=create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);

无效。您在函数调用中放置了声明,而不是提供参数表达式。

在任何情况下,功能定义

void print_roulette_number()
{
int n;
n=create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);
printf("e o numero da roleta e: %d", n);
}

这是没有意义的,因为函数没有实体将它们作为表达式传递给函数CCD_ 1的调用。

除此之外,函数还使用不同数量的参数和返回类型声明两次

void create_roulette_numbers(int lista[BTT]);

int create_roulette_numbers(int roulette_released_numbers[BTT], int roulette_released_numbers_count);

在C中,您不能重载函数。

最新更新