这种问题怎么解决?
cide吧
全部回复
仅看楼主
level 8
飞舞云尖 楼主
这种问题怎么解决?
2017年10月11日 05点10分 1
level 8
飞舞云尖 楼主
#include<stdio.h>
#define SDD
#include"a.h"
int main() { printf("%d", f()); }
2017年10月11日 05点10分 2
level 8
飞舞云尖 楼主
#ifndef A_H
#define A_H
int f();
#include"a.cpp"
#endif
2017年10月11日 05点10分 3
level 8
飞舞云尖 楼主
#ifdef SDD
int f (){ return 1; }
#else
int f() { return 2; }
#endif
2017年10月11日 05点10分 4
level 8
飞舞云尖 楼主
追问一个
改m.cpp为
#include<stdio.h>
#include"b.cpp"
#define SDD
#include "a.h"
extern void f2();
int main() {
f2();
printf("%d", fff); }
改a.cpp为
#ifdef SDD
#define fff (1)
#else
#define fff (2)
#endif
加b.cpp
#include"a.h"
#include <stdio.h>
void f2() { printf("%d\n", fff); }
2017年10月11日 10点10分 6
level 8
飞舞云尖 楼主
无法链接,但C4droid可以。
2017年10月11日 10点10分 7
level 8
飞舞云尖 楼主
把主文件//#include"b.cpp注释掉,可运行。结果是图1。于C4droid图2不同。
2017年10月11日 11点10分 8
 
你的输入法皮肤能不能给我?o>_<o,不会
2018年06月09日 09点06分
level 13
你把项目关掉就正常,实际上如果你把项目打开了,就不要用#include "xxx.c"这样的写法,因为会重复编译同一个函数,导致函数重叠,失败就是这样产生的,项目用于管理多文件编译,你要是打开c4的多文件编译,也会出错好吗
2017年10月11日 15点10分 9
谢谢。明白了。
2017年10月11日 23点10分
@飞舞云尖 凡是有歧义的编程方式看来不能用项目方式。
2017年10月12日 00点10分
level 13
不好意思没留意到帖子,回帖晚了点
2017年10月11日 15点10分 10
level 1
为什么会报错啊。。
2017年12月06日 12点12分 11
#可能是中文。<>不是()
2017年12月06日 13点12分
1