当前位置:首页 » 编程软件 » c文件调用cpp函数编译报错

c文件调用cpp函数编译报错

发布时间: 2022-08-02 09:53:13

‘壹’ c语言调用C++函数出错

哈哈,我看出来了,你是用vc编译的吧,看dos.h头文件,这是tc编译器的头文件,支持的暂停为delay()函数,如果用vc编译,那么就是用的windows环境下的32位编程,所以就应该加入windows.h这个头文件,告诉vc编译器这个名字空间,错误提示是由于你的sleep()函数中s要大写,改成大写就能编译通过了。
希望对你有所帮助。

‘贰’ c语言使用头文件调用其他文件函数时时链接错误,求指教~~

我用vc2010测试了你的代码,没有连接问题,完全正确。
但是,如果从工程中,将ds3_seqStack2.cpp移除,再Build,将得到和你一样的链接错误。
因此,猜测你是没有将ds3_seqStack2.cpp加入工程。

‘叁’ 一个用C语言写成的Cpp文件,复制代码在C编译环境中运行时出现error,请求帮助

void creatTree(Linklist &L,Tree &T) 这里的&表示引用实参变量,是C++的专例,C不支持!所以会报错!

你若想移植成C语言,这里只能定义成指针,然后代码中相应的使用该变量的地方全要进行调整。

‘肆’ c语言编译错误

因为你的a[6][6]这个数组没有初始化,也没有输入值,所以内存中就没有a数组的内容的地址,所以一运行就会出错啊,访问了不该访问的内存,所以就报错了。

‘伍’ 源代码中有cpp进行编译,出现fatal error C1083: 无法打开包括文件:“c1.h”: No such file or directory

那肯定是有某个文件调用了这个C1.h呗,但是这个文件不存在。
就报错了。

‘陆’ .CPP文件编译no error,执行时出错

这种情况你试试删除工程文件夹下的debug文件夹下的所有文件,然后重新编译
如果不行,
那就是你

源程序
有问题,仔细看看错误列表中函数的定义,变量的定义,还有运行库的加载是否正确等等。

‘柒’ Help.C文件如何调用.CPP文件中的函数

因为C++和C是两种完全不同的编译链接处理方式,所以如果直接在C++里面调用C函数,这样链接起来是通不过的,会报链接错误,找不到函数体,所以要在C++文件里面显示声明以下一些函数是C写的,要用C的方式来处理,这个在C++设计初期就考虑到兼容性的问题,所以是可以解决的。 比如用C写了A.h和A.c这两个文件,里面包括了void A_app(int)这样的函数,那么在需要调用这个函数的CPP文件里面,就需要显示声明一下了。 1.引用头文件前需要加上 extern “C”,如果引用多个,那么就如下所示 extern “C” { #include “A.h” #include “B.h” #include “C.h” #include “D.h” }; 然后在调用这些函数之前,需要将函数也全部声明一遍。 2.C++调用C函数的方法,将用到的函数全部重新声明一遍 extern “C” { extern void A_app(int); extern void B_app(int); extern void C_app(int); extern void D_app(int); };

‘捌’ 关于gcc编译器,在控制台写*.cpp编译多个cpp会报错

根据报错信息,是因为“g++ -c *.cpp”这条指令的通配符串“*.cpp”没有展开所致。

根据验证,当执行“g++ -c *.cpp”这条指令时,当前目录比如testcomb下没有后缀名为cpp的文件,“*.cpp”就不会展开,就会报错。

---

如上图所示,当前目录下没有.c文件,报错与问题中的一致。

‘玖’ *c和*cpp文件编译问题

如何你将改的代码依然放在扩展名为cpp的文件里,你在VC中选择将这个文件用c来编译。
重载的函数起不同的名字,C++中的inline函数一般是在头文件中定义的,在转变为c应将它的定义放在源文件中,取消inline申明。
引用数据类型在c中是不存在的需要改为指针型。
在C语言中变量申明一般要放在函数的前面,而c++中可以放在使用的地方,需要改变后这些变量申明位置。
for(int i = 0; i < n; ++i)这是c++的语句,而在c中是不允许的,需要
int i
...
for(i = 0; i < n; ++i)

‘拾’ visualc++6.0中设计的函数在.c可以运行和而在.cpp中会报错

#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
int gsd(int a,int b);//函数声明要放在调用之前,否则找不到函数原型,会报错
int main()
{
int a,b,c;
scanf("%d %d",&a,&b);
c=gsd(a,b);
printf("最大公约数=%d\n",c);
system("pause");
return 0;
}
int gsd(int a,int b)
{
if(b==0)
return a;
return gsd(b,a%b);
}

热点内容
编译原理设计文档是什么 发布:2025-02-10 09:41:58 浏览:283
sql分段统计 发布:2025-02-10 09:40:27 浏览:358
记账app源码 发布:2025-02-10 09:34:45 浏览:496
照片传到g6的存储卡 发布:2025-02-10 09:29:02 浏览:902
非加密公章 发布:2025-02-10 09:09:52 浏览:621
京东登录密码如何清除 发布:2025-02-10 09:07:41 浏览:690
dns服务器地址192 发布:2025-02-10 09:07:39 浏览:662
redis缓存实现 发布:2025-02-10 09:01:26 浏览:711
后台登录脚本 发布:2025-02-10 08:56:11 浏览:659
我的辣鸡账号和密码是多少 发布:2025-02-10 08:55:37 浏览:691