WTL中CString的使用问题

如果你按照说明定义_WTL_USE_CSTRING,然后包含atlmsic.h,就会出现CString定义不明的编译错误,其实就是编译器分不清你是用WTL::CString,还是ATL::CString。其实你跟本用不着用WTL::CString,它们根本上就是一样的。

避免这类错误的方法就是在atlapp.h前面包含atlstr.h,这个文件里面定义的__ATLSTR_H__和_WTL_USE_CSTRING起的作用是一样的,并且指定CString为ATL::CString,这样就不用包含atlmisc.h了。atlmisc.ht提供的CSize, CPoint,CRect用WindowsAPI来代替也不见得多麻烦。

当然,你也可以把CString从atlmisc.h中移走,不过这有点侵犯别人劳动成功的嫌疑。

你可能感兴趣的:(我的WTL)