问题

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

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是关键字,用它作为参数名会引发该问题