error C2373: redefinition different type modifiers

出现这个错误的原因在于:你使用了没有事先声明的函数。

例如:

void funcA(void)
{
     int i = 0;
     i = funcB();
}

int funcB(void)
{
   return 0;
}

在上面的例子中,funcA调用funcB时,就会出现这个报错。

解决方法:

先声明funcB,或者把funcB的实现放在funcA前面:

int funcB(void)
{
   return 0;
}

void funcA(void)
{
     int i = 0;
     i = funcB();
}

当然,也可能别的原因造成此问题。我遇到的是这种而已。
 

 

你可能感兴趣的:(error C2373: redefinition different type modifiers)