Compile-time assertion?

后端 未结 12 1019
春和景丽
春和景丽 2020-11-27 06:09

Is there a way I can assert that two constant expressions are equal at compile time?

e.g. I want this to cause a compile-time error

enum { foo=263,          


        
12条回答
  •  被撕碎了的回忆
    2020-11-27 06:25

    you can define your own static assertion , this way :

    #include 
    template  class ClassStaticAssert;
    template <>
    class ClassStaticAssert{static const bool value = true;};
    #define STATIC_ASSERT(e) (ClassStaticAssert())
    int main()
    {
        STATIC_ASSERT(0);
        return 0;
    }
    

提交回复
热议问题