【发布时间】:2008-12-23 14:11:58
【问题描述】:
我想根据类模板类型对齐我的成员变量,但我不确定它是否真的可行。
以下是我想做的(非常)简单的示例
template<int Align>
class MyClass
{
private:
struct MyStruct
{
// Some stuff
} __declspec(align(Align));
__declspec(align(Align)) int myAlignedVariable;
};
所以我希望 Align 成为每个实例的变量,只有这样才能决定类内容的 align 值。
不幸的是,我总是收到以下错误
error C2975: 'test::MyClass' : invalid template argument for 'Align', expected compile-time constant expression
那么,这实际上是可能的还是只能使用固定的编译时间常数才能实现对齐?如果没有,任何人都可以想办法解决这个问题吗?
谢谢:)
【问题讨论】: