1、全局函数的定义,例如自定义的
CArchive& AFXAPI operator<<(CArchive& ar, const wstring& str)
{
ar<<str.c_str();
return ar;
}
需要放在source 文件.cpp中,而不能放在头文件中,否则会引起链接器重复定义的错误。
2、关于头文件相互包含导致的类型未定义,最根本的解决方法就是避免A.h包含B.h,B.h又包含A.h这种情况的发生。
具体解决方法可以采用合并A.h和B.h的内容到一个头文件中,因为如果两个头文件紧密耦合的话本来就是一个不可分割的整体
3、最后一个是跟编译器有关,全局变量在一个地方定义后,其他地方如果找不到该全局变量时,可以采用extern 全局变量名的方式,告诉编译器这个全局变量已经在其他地方定义过,这样等于骗过了编译器,等在链接过程中再找寻该全局