2

前几天我有这个结构:

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

……但是为其命名类型是多余的。但是,它的未命名形式:

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

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

有什么办法让它工作吗?

4

1 回答 1

7

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

struct {
  char a, b, c;
} *bar = (decltype(bar))untyped_memory;
于 2018-09-01T16:13:37.723 回答