static_cast静态类型转换指针导致Release程序随机崩溃报错

Posted 2018shawn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static_cast静态类型转换指针导致Release程序随机崩溃报错相关的知识,希望对你有一定的参考价值。

static_cast静态类型转换指针导致崩溃报错

核心代码如下:

typedef struct A1
{
  char pos[4];
}A;

typedef struct B1
{
  char zoom[4];
  char pos[8];
} B;

int main()
{
  A* a1 = new A;

  B* b1 = static_cast<B*> a1;
  for(int i = 0; i < 8; ++i)
  {
    b1->pos[i] = 0;
  }
}

 

以上是关于static_cast静态类型转换指针导致Release程序随机崩溃报错的主要内容,如果未能解决你的问题,请参考以下文章

使用static_cast进行父类指针转子类指针可能出现的问题

使用 static_cast<> 对指针进行类型转换

类型转换

static_cast显示完成隐式转换

类型转换_异常处理机制

[C/C++]_[中级]_[static_cast的详细解析]