c语言程序出现 invalid conversion from 'int (*)(int, int)' to 'int (*)()' [-fpermissive] 的错误

c语言程序出现 invalid conversion from 'int (*)(int, int)' to 'int (*)()' [-fpermissive] 的错误,第1张

指针与变量不能直接赋值,只有(*q)才能和变量进行赋值,并且必须先给指针分配内存空间,所以直接把q=i编程(*q)=i是不行的。

有两种该法:

#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

printf("%d",*q)

return 0

system("pause")

}

这样就行了

或者是#include

#include"stdlib.h"

int main()

{

int i,j,k

int *q

scanf("%d %d %d",&i,&j,&k)

if(i>j)

{

if(i>k)

q=&i

else

q=&k

}

else

q=&j

printf("%d",*q)

return 0

system("pause")

}

楼上几位好像没有给指针分配空间,所以有点小瑕疵,哈哈

本文是在ffmpeg的编译完成的基础上用cmake对ffmpeg的so库进行调用

创建新项目的时候,记得勾选include c++ support,项目中会在main目录下自动创建cpp目录并生成一个现成的cpp文件。

效果如下:

具体在CMakeLists中添加的Cmake命令用法,请参考 这篇文章

需要注意的是CMakelists的位置,CMAKE_SOURCE_DIR就代表CMakeLists所在的路径。我的项目中CMakeLists的路径是与build.gradle同级的

Androidstudio最新版好像创建完c++后自动生成的CMakeLists是在cpp目录下的,这个CMakeLists在哪都行,不过千万要记住修改几处调用CMakeLists路径的地方。有以下几处:

1、CMakeLists中用到CMAKE_SOURCE_DIR的地方

2、build.gradle中

include/libavcodec/avcodec.h是引用的so库的头文件,需要注意使用extern "C"包裹起来

参考链接:

1、 https://www.cnblogs.com/fnlingnzb-learner/p/7593488.html

2、 https://www.jianshu.com/p/a1fe55d5683b

不要把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)后面要加一个

不知道还有没有错,你运行看看吧。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11412411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存