如何将指针转换为未命名的结构指针?

时间:2018-09-01 16:07:51

标签: c++

前几天我有这个结构:

struct foo_t {
  char a, b, c;
} *foo = (foo_t*)untyped_memory;

...但是为其命名的类型过多。但是,其未命名形式:

struct {
  char a, b, c;
} *bar = untyped_memory;

...由于指针类型不兼容而无法编译。

有什么办法可以使它工作?

1 个答案:

答案 0 :(得分:6)

如果您有权使用C ++ 11或更高版本,则可以使用decltype,即

struct {
  char a, b, c;
} *bar = (decltype(bar))untyped_memory;
相关问题