| 
 | 
 
 
 楼主 |
发表于 2020-5-23 21:28:40
|
显示全部楼层
 
 
 
 
这样编译可以通过,执行和之前一样:d:/Tools/Vsd-cpp/test/mul_a.cpp:6: undefined reference to `add(int, int)' 
- #include<stdio.h>
 
 - //#include "mul_b.h"
 
  
- extern int(*add)(int,int);
 
 - int main()
 
 - {
 
 -    int hard = add(1,1);
 
 -    printf("hard=%d\n",hard);
 
 -    return 0;
 
 - }
 
  复制代码 
 
如果两个同时打开,就会编译阶段报错(一看函数定义成了不同类型,当然同一类型的话,就是重复定义了):'int (* add)(int, int)' redeclared as different kind of entitygcc 
- #include<stdio.h>
 
 - #include "mul_b.h"
 
  
- extern int(*add)(int,int);
 
 - int main()
 
 - {
 
 -    int hard = add(1,1);
 
 -    printf("hard=%d\n",hard);
 
 -    return 0;
 
 - }
 
  复制代码 
虽然还是通不过,谢谢啦。 |   
 
 
 
 |