有时候从别人那拷贝的代码,能在他的项目里面跑起来,一旦复制到自己的项目里面就各种奇怪的错
-
可能是因为类后缀的原因
他是.m 我是.mm ,因为有时候c支持的东西,c++并不支持 -
Reinterpret_cast from ‘const unsigned long *’ to ‘char *’ casts away qualifiers
和 Cannot assign to non-static data member ‘mnFrameId’ with const-qualified type ‘const unsigned long’
这些类似的错误,一开始我以为是因为没有支持c++11标准导致的
事实上,我之前都有设置的,但是突然导入的c++库,以及一些设置没了,但是我重新设置,也还是不行,后来在http://www.it1352.com/488458.html上面找到了解决方案1)、Reinterpret_cast from ‘const unsigned long *’ to ‘char *’ casts away qualifiers
从reinterpret_cast<char*>(&pKFi->mnFrameId)
改为
const_cast<char*>(reinterpret_cast<const char*>(&pKFi->mnFrameId))
2)、Cannot assign to non-static data member ‘mnFrameId’ with const-qualified type ‘const unsigned long’
这个 是类成员变量是const修饰,然后却有他的set get方法,试图修改只读变量的值导致的。可以直接去掉const修饰,也可以选择const与指针结合修改