因为看到CString重载的【】操作符的类型是int
char operator [](int i);
大家都知道string可以存放的个数是size_t类型的,如果用int,那么将有一半的数据通过【】取不到,
于是我定义
char operator [](size_t i);
结果居然编不过
说重定义,因为CString还有一个操作符重载LPTCSTR(),这个和【】合起来就和LPTCSTR【】(size_t i)函数重复了,当然我以为这个LPTCSTR【】(size_t i)不应该有,可以微软的编译器就是报与这个全局函数重定义.
怪不得CString只提供char operator [](int i)函数呢,原来知道这个bug啊