C++ 如何在Visual Studio中使用#if指令在编译时检查常量变量?

C++ 如何在Visual Studio中使用#if指令在编译时检查常量变量?,c++,if-statement,C++,If Statement,以下代码在使用Visual Studio 2015时无法正常工作,因此不会出现编译时错误“ALIGN_SIZE必须可以被32整除”。有可能在编译时执行类似的操作吗 const static size_t ALIGN_SIZE = 65; #if ALIGN_SIZE % 32 > 0 #error ALIGN_SIZE must be divisible by 32 #endif 看。它有一个例子,涵盖了这个确切的用例。 例如: 静态_断言(sizeof(void*)==4,“不支

以下代码在使用Visual Studio 2015时无法正常工作,因此不会出现编译时错误“ALIGN_SIZE必须可以被32整除”。有可能在编译时执行类似的操作吗

const static size_t ALIGN_SIZE = 65;
#if ALIGN_SIZE % 32 > 0
   #error ALIGN_SIZE must be divisible by 32
#endif
看。它有一个例子,涵盖了这个确切的用例。 例如:


静态_断言(sizeof(void*)==4,“不支持生成64位代码”)

我建议使用这个,而不是宏。请在答案中包含所有相关信息,因为链接页面可能会更改并变得无用。谢谢你们两位的帮助。这正是我想要的。