永发信息网

关于static问题.我在测试static函数和extern函数.以下代码加上static后可以编译无法连接..去掉后正常.求解

答案:2  悬赏:70  手机版
解决时间 2021-02-03 11:47
  • 提问者网友:相思似海深
  • 2021-02-02 14:16
file1.c代码
#include
void main()
{
void show(char,char);
void show1(char);
extern void show2(char);
show('A','B');
show1('U');
show2('K');
}
static void show(char str,char str1)//内部函数
{
printf("show:%c%c\n",str,str1);
}
void show1(char str)//默认是外部函数
{
printf("show1:%c\n",str);
}
file2.c代码
#include
void show2(char str)//默认是外部函数
{
printf("show2:%c\n",str);
extern void show1(char);
show1('!');
}
连接时报错:unresolved external symbol "void __cdecl show(char,char)
初学.个人猜测是参数传送问题..求高人解答..(static去掉后正常)
最佳答案
  • 五星知识达人网友:玩世
  • 2021-02-02 15:25
函数加static 就不能被其他文件调用 ,如果你在其他文件里谢了调用 ,连接的时候必定报错
不加默认就是extern 可以被其他函数调用
全部回答
  • 1楼网友:动情书生
  • 2021-02-02 16:41
哈哈,这简单!函数加static就不能被其他文件调用,如果你在其他文件里谢了调用,连接的时候必定报错 不加默认就是extern可以被其他函数调用
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯