C语言错误 BUG报错整理

错误一

关键字:间接寻址级别不同

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

char strcat(char *a,char *b) 
{ 
    char c[199]; 
    int n,i; 
    int strlena,strlenb; 
    strlena = (int)strlen(a); 
    strlenb = (int)strlen(b); 
    n=strlena+strlenb; 
    for(i=0;i<strlena-1;i++) c[i]=a[i]; 
    for(i=strlena-1;i<n;i++) c[i]=b[i-strlena];  
    return c[199]; 
} 
int main(void) 
{ 
    char a[100]; 
    char b[100]; 
    scanf("%s",&a); 
    scanf("%s",&b); 
    printf("%s",strcat(a,b)); 
    system("PAUSE"); 
    return 0; 
} 
View Code

具体内容:error C2040 : “strcat” : “char(char *, char *)”与“char *(char *, const char *)”的间接寻址级别不同

原因:变量或者方法重复定义

具体解决方案:本例子中strcat()方法程序员自定义了一个,string.h也定义了一个,c语言里不存在重载,所以检测到两个相同函数名报错。

原文地址:https://www.cnblogs.com/zhanggaofeng/p/5249769.html