C和C++混合编程问题

2020-01-06 13:47:28王振洲

利用以上声明形式就可以综合运用了。

在C中引用C++语言中的函数和变量时,C++的函数或变量要声明在extern "C"{}里,但是在C语言中不能使用extern "C",否则编译出错。(出现错误: error C2059: syntax error : 'string',这个错误在网上找了很久,国内网站没有搜到直接说明原因的,原因是extern "C"是C++中的关键词,不是C的,所有会出错。

 

 
  1. /*=======sum.h=========*/   
  2. #ifndef SUM_H  #define SUM_H 
  3. #include <stdio.h>   
  4. int sum(int a,int b);   
  5.   #endif; 
  6.   /*=======sum.cpp=========*/ 
  7.   #include "sum.h" 
  8.    
  9. int sum(int a,int b)  { 
  10. int c=a+b;  return c; 
  11. }   
  12. /*====main.c======*/   
  13. #include "sum.h"   
  14. void mian(){   
  15. cout << sum(1,2)<<endl;