如何解决VC2019中:error C3861: “xxxx”找不到标识符问题
问题原因:
因为C程序中代码是顺序编译的,不管是常量、变量,还是函数,都是先定义后使用的,不能先定义,再使用。如果存在多个函数互相调用,那么编译的时候,就会出现这个错。我举个简单的例子:
int i=10,j=10;
z=i+j;
int z=0;
这样编译就会出错,因为编译到z=i+j;这里的时候,编译器找不到你的z,而你的z在后面,计算机并不像人一样,会思考,只会按部就班,他找不到你的z就会报错。
还有一种情况是函数调用
void main()
{
flower();
}
void flower()
{
.........
titel();
.........
}
int titel()
{
.........
}
这种情况下如果不先写函数声明,也会报错。
解决方法:
如果是某个变量出错,只需把定义写在前面即可
int i=10,j=10;
int z=0;
z=i+j;
如果是某个函数出错,只需程序前面最前写函数声明,或者将主函数放到最后,子函数放在前面。
void main()
{
flower();
}
int titel()
{
.........
}
void flower()
{
.........
titel();
.........
}
这样大部分 'error C3861: “xxxx”: 找不到标识符’问题都能解决。
(有问题的话,欢迎大家指出)