当我尝试将函数的参数设置为默认值时出现意外错误

Posted

技术标签:

【中文标题】当我尝试将函数的参数设置为默认值时出现意外错误【英文标题】:Unexpected error when i try to set parameters on a function to be default 【发布时间】:2019-09-13 19:49:20 【问题描述】:

我正在尝试将函数中的值初始化或声明为默认值,但是当我这样做时,编译器会在第 3 行抛出错误 void makeGrid(char arr[8],char c,int index =10); “在 '=' 标记之前应为 ';'、',' 或 ')'。我在互联网上查看了一些如何将参数设置为默认值的示例,但是,当我粘贴示例代码时,我也没有运行。

#include <stdio.h>
#define MAXVALUE 10

void makeGrid(char arr[8],char c ,int index =10);
void decition(int n);
char grid[8];

void makeGrid(char arr[8], char c, int index)
    if(index!=10)
        arr[index] = c;
        printf(" %c ", arr[index]);
    else
        for(int i =0; i <=8; i++)
            arr[i] = i+1;
            printf(" %d ", arr[i]);
            if(i==0 || i== 1 || i==3 ||i==4 ||i==6 ||i==7) printf("¦");
            if(i==2 || i== 5 || i==8) printf("\n___¦___¦___\n");
        
    


void decition(int n)
    int index = n-1;
    char newGrid[8];
    makeGrid(newGrid,'x',index);



int main()
    setvbuf(stdout, NULL, _IONBF, 0);
    setvbuf(stderr, NULL, _IONBF, 0);
    int n;
    printf("\t\t\t      Tic Tac Toe Game\n");
    printf("\t\t\t Player 1 is X, Player 2 is O\n");
    makeGrid(grid, 'c', 10);
    printf("player 1 enter a number:\n");
    scanf("%d", &n);
    decition(n);


    return 0;

【问题讨论】:

【参考方案1】:

C 不支持函数参数的默认值。

但 C++ 支持此功能。

【讨论】:

以上是关于当我尝试将函数的参数设置为默认值时出现意外错误的主要内容,如果未能解决你的问题,请参考以下文章

在 .htaccess 中设置 php_value 时出现意外错误?

为什么在尝试将指向数组的指针作为函数的参数时出现访问冲突错误?

在项目 Xamarin.Forms 中构建时出现错误“值不能为空参数名称:方​​法”

当我尝试通过存储过程插入空值时出现 SqlException

当我尝试将任务计划程序中的信息导出到 csv 文件时出现错误:无效的参数/选项 - '>'

解压文件时出现“错误0x80070057:参数不正确”