源代码在window 上编译没有问题。
在linux上使用:g++ -c main.cpp ; g++ -o main main.o 。编译也没有问题
但是用makefile编译:
OBJ=main
CPP= g++
FLAG=-c
main:main
${CPP} -o ${OBJ} main.o
make clean
main.o:main.cpp
${CPP} ${FLAG} main.cpp
clean:
rm *.o
就提示有错误:undefined reference to `std::*'
请问这是怎么一回事?
二义性问题
1.在继承时,基类之间、或基类与派生类之间发生成员同名时,将出现对成员访问的不确定性——同名二义性。
2.当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生另一种不确定性——路径二义性。
同名二义性
同名隐藏规则——解决同名二义的方法
......
答案就在这里:C++ 二义性问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?