很显然,longer是一个指针函数,他应该返回指针类型,但是你在定义函数的时候却定义成字符类型,导致类型不匹配。改正方法:第三行函数申明改为char *longer(char*array,char*num_array,int x,int y);倒数第七行:longer前面加个*号,即改为char *longer,这样就可以了 ...
从错误的提示来看,你是要把数组或者指针转换成字符来用了,而函数本身要求的参数类型是字符,最好贴点代码上来,不要多,就是定义和调用的部分就行。这种问题一般都是基本的小问题
不要把ss定义为char型, 这样, string ss;另外scanf("%d %d %d %d %d",a,b,c,d,e);要写成scanf("%d %d %d %d %d",&a,&b,&c,&d,&e)strcat(ss,s)后面要加一个 ;不知道还有没有错,你运行看看吧。。。
这时会报错:invalid conversion from `const char*' to `char*'解决方法: char* c =... nbsp;str = "dasfas";char* p = (char*)str.c_st... c++编程错误“invalid conversion from 'char*' to 'char'... invalid conversion from 'char*' to 'char' [-fpermissive]|错误的...
if((strcmp(u->id,id[20])==0)//比对用户名 这里有问题,改成 if((strcmp(u->id,id)==0)//比对用户名 这样才是两个字符串的比较 但是你这里u没有初始化,他是一个指针,系统是不自动给他分配空间的 id 也没有被初始化
1、const char*是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量,通过该指针不能修改它所指向的数据.2、const char*是不能直接赋值到char*的,这样编译都不能通过,理由:假如可以的话,那么通过char*就可以修改const ...
char*s =malloc(sizeof(char)*64);// 报错D:\CC++\C++\Day1\main.cpp||In function'int main(int, char**)':| D:\CC++\C++\Day1\main.cpp|6|error: invalid conversion from'void*'to'char*'[-fpermissive]| D:\CC++\C++\Day1\main.cpp|6|warning: unused variable's'[-Wunused-variable]...
上面调用了malloc函数,malloc函数的返回值是一个 void* ,而你直接赋值给student* 类型的变量p了,malloc前面加个强制转换就行,例如:student *p = (student *)malloc(sizeof(student));
在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。include include"stdlib.h"int main(){ int i,j,k;int *q;q=(int*)malloc(sizeof(int));scanf("%d %d %d",&i,&j,&k);if(i>j){ if(i>k)q=i;else q=k;} else q=&j;...
c语言[Error] invalid conversion from 'void*' to 'student*' [-fpermissive]怎么解决? #include<stdio.h>#include<stdlib.h>structstudent{intm;intnum;charname[20];inta;intb;intc;floatscore;};voidread(structstudent*p,intn);voidsort(structstudent*p,intn);voidwr