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

问题描述 投票:1回答:1

我前几天有这个结构:

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

...但是有一个命名类型是过度的。但是,它的未命名形式:

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

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

有没有办法使它工作?

c++
1个回答
6
投票

如果您可以访问C ++ 11或更高版本,那么您可以使用decltype

struct {
  char a, b, c;
} *bar = (decltype(bar))untyped_memory;
© www.soinside.com 2019 - 2024. All rights reserved.