invalid conversion from `const void*' to `void*'
使用memcpy()时将一个const指针传入导致错误。
啊,C++是支持指定类型转换的,用const_cast这个类型转换运算符就能实现const指针转换成非const指针,const引用转换成非const引用。
例如:
class A
{
public:
int num;
A(){}
};
int main()
{
const A a;
A *wa = const_cast<A *>(&a);
wa->num = 1;
A &a2 = const_cast<A&>(a);
a2.num = 2;
}
还有其他的类型转换运算符:
static_cast 常在基本数据类型之间转换使用
dynamic_cast 用在多态时候的向下转型
经常在编程的时候,多半出现的是空指针,程序中释放内存后一定要将指针设置为NULL来避免野指针。空指针常报断错误,野指针就会离奇一些。