前几天我有这个结构:
struct foo_t {
char a, b, c;
} *foo = (foo_t*)untyped_memory;
……但是为其命名类型是多余的。但是,它的未命名形式:
struct {
char a, b, c;
} *bar = untyped_memory;
...由于指针类型不兼容而无法编译。
有什么办法让它工作吗?
前几天我有这个结构:
struct foo_t {
char a, b, c;
} *foo = (foo_t*)untyped_memory;
……但是为其命名类型是多余的。但是,它的未命名形式:
struct {
char a, b, c;
} *bar = untyped_memory;
...由于指针类型不兼容而无法编译。
有什么办法让它工作吗?
如果您可以访问 C++11 或更高版本,那么您可以使用decltypeie
struct {
char a, b, c;
} *bar = (decltype(bar))untyped_memory;