2016-04-18 15 views
0

次のコードはVisual Studio 2015の使用を想定しているため動作しません。したがって、 "ALIGN_SIZEは32で割り切れる必要があります"というコンパイルエラーは発生しません。コンパイル時にこのようなことをすることは可能ですか?Visual Studioで#if指示文を使用して定数変数をチェックする方法は?

const static size_t ALIGN_SIZE = 65; 
#if ALIGN_SIZE % 32 > 0 
    #error ALIGN_SIZE must be divisible by 32 
#endif 
+2

マクロではなく[static_assert'](http://en.cppreference.com/w/cpp/language/static_assert)を使用することをお勧めします。 –

答えて

-1

MSDN page on static_assertを参照してください。この正確なユースケースをカバーする例があります。 例:

static_assert(sizeof(void *)== 4、 "64ビットコード生成はサポートされていません。

+1

リンク先のページが変更され、無用になる可能性があるので、すべての関連情報を回答に含めてください。 –

+0

ご協力いただき、ありがとうございます。それはまさに私が探していたものです。 – Laci

関連する問題