我想根据类模板类型对齐我的成员变量,但我不确定它是否实际可行。通过模板类型对齐成员变量
下面是一个的想什么,我做
template<int Align>
class MyClass
{
private:
struct MyStruct
{
// Some stuff
} __declspec(align(Align));
__declspec(align(Align)) int myAlignedVariable;
};
所以我想为对齐是每个实例变量,只有通过这是非常简单的例子班级内容的排列值决定。
不幸的是,我总是碰到下面的错误
error C2975: 'test::MyClass' : invalid template argument for 'Align', expected compile-time constant expression
那么,这实际上可能或可以排列只能用一个固定的编译时间常数可能吗?如果没有,任何人都可以想办法解决这个问题吗?
谢谢:)
为什么不让他“对齐”MyStruct的第一个成员?那么它仍然是荚。 – 2008-12-23 21:50:16