我有一个结构体S
,它打包了两个固定大小、类型为T
的数组。
template<typename T>
struct S {
array<array<T, 20>, 10> x1;
array<T, 10> x2;
};
我希望获取一个大小为210、元素类型为T
的一维数组的引用。我尝试使用reinterpret_cast
,但编译器不允许这样做:
S<T> s;
array<T, 210>& x = *reinterpret_cast<S*>(&s);
我知道 这个 是可行的:
S<T> s;
T* x = reinterpret_cast<T*>(&s);
但是有没有一种方法可以从该结构中获取固定大小的一维数组的引用?我尝试使用 #pragma pack(pop, 1)
,但没有成功。