编译报错 error: expected ‘;’, ‘,’ or ‘)’ before ‘switch’

问题

在编译程序时遇到编译报错,报错内容如下所示:

func.c:4:16: error: expected ‘;’, ‘,’ or ‘)’ before ‘switch’

核心错误代码

#include <stdio.h>
#include <stdlib.h>

void func(int *switch)
{
        printf("%d\n", switch);
}

int main()
{
        int *a;
        func(a);
}

解决思路

在网上搜索大多数文章都是说C中使用引用会引起该问题,并且基本上都是CV的文章,无法解决我的问题

问题产生的原因很简单,因为switch是关键字,用它作为参数名会引发该问题

上一篇:C#创建单元测试


下一篇:Javascript OR运算符不在if语句中工作