typedef long long keyType;
std::map< keyType, valueType* >    mMap;在VS下编译使用无问题,但在IOS下用GCC编译使用后出现错误,经最终查找发现long long作为map的key引起的问题
long long好像不是标准C++的类型,但是这个错误具体在什么地方,为什么会引起内存分配和释放之间的错误?
请高人解惑。

解决方案 »

  1.   

    不会是这个原因,可能是你文件后缀不对吧。既然是c++,就应该是.mm⋯⋯
      

  2.   

    这个问题的原因还没有找到,但将long long 改成unsigned int后没有就正常了。不排除其他问题引起,但的确没有找到。
    至于long long类型是否可以在IOS下安全使用,以及是否可以在IOS && std::map的key,不知道有没有注意事项。
      

  3.   

    long long你需要去工程的设置里设置相关选项吧,有这个选项的。