static-assert

    44热度

    2回答

    如何将一个适当做constexpr函数内的static_assert?例如: constexpr int do_something(int x) { static_assert(x > 0, "x must be > 0"); return x + 5; } 这不是有效的C++代码11,因为constexpr函数只能包含一个return语句。我认为标准没有例外,尽管GC

    0热度

    1回答

    我最近看到下面的代码: #define MY_ASSERT_CONCAT_(a, b) a##b #define MY_ASSERT_CONCAT(a, b) MY_ASSERT_CONCAT_(a, b) #define MY_STATIC_ASSERT(e,msg) enum { MY_ASSERT_CONCAT(assert_line_,__LINE__) = 1/int(!!(e))

    4热度

    3回答

    我意识到这是一个人为的例子,但我想编译检查,以防止这种... class A {}; class B : public A {}; class C : public A {}; class D : public B, public C { BOOST_STATIC_ASSERT((is_base_of_once<A,D>::value)) };

    3热度

    2回答

    我注意到,即最后一个C++的在[24.4.7] - 标准文件N3291 max IST不constexpr: template<class T> const T& max(const T& a, const T& b); 因此,不允许在一个static_assert例如使用它。正确? static_assert(max(sizeof(int),sizeof(float)) > 4, "bumm

    22热度

    1回答

    我想有一个C++ 0x static_assert测试给定的结构类型是否为POD(以防止其他程序员无意中将其与新成员分开)。即, struct A // is a POD type { int x,y,z; } struct B // is not a POD type (has a nondefault ctor) { int x,y,z; B(int _

    42热度

    2回答

    我很难找到并解决此问题。如果我不得不虚拟地从专门为合作伙伴设置的虚拟机中删除Windows许可证密钥,并且在虚拟机交付之前需要将其删除,那么我该如何去做这件事?自然,内置的30天宽限期已过期,我正在使用MSDN许可证密钥,但我需要在关闭VM之前移除密钥。收件人可以输入自己的许可证密钥。例如如何重置激活密钥向导的唠叨?

    5热度

    4回答

    我们有复杂的模板类,它们有一些不适用于特定策略或类型的方法。因此,当我们检测到这些类型(编译时,使用类型特征)时,我们会发出一条带有好消息的静态断言。 现在我们也做了大量的手动模板实例化。部分原因是这些方法被强制编译为语法检查方法。它还减少了图书馆用户的编译时间。问题是静态断言总是被触发,因此我们不能手动实例化模板类。 是否有解决方法? 编辑:使其更清晰,这里有一个例子(在这种情况下,显式实例都将

    2热度

    3回答

    我有几个模板设置结构,是否可以,在这些结构中使用静态断言? template<typename T, int N, (and so on...)> struct Settings{ static const int n = N; STATIC_ASSERT(n == 5); typedef typename T GAGA; } 感谢您的回复!

    2热度

    2回答

    template<class Int_T,class Integral,typename Best_Fit<Int_T>::type Min_Range, typename Best_Fit<Int_T>::type Max_Range> auto operator+(Integral left,const Int<Int_T,Min_Range,Max_Range>& right)

    0热度

    2回答

    我正在将Rails应用程序移植到JRuby和HSQLDB。我的目标是将数据库和站点嵌入到单个JAR文件中,以便在客户站点进行部署。我的网站在JAR上运行得非常好,有一些值得注意的问题。 当我做了一个漂亮的世俗ActiveRecord的模型如下: @total = SessionLog.count(:id) 我得到以下异常: ActiveRecord::StatementInvalid (Act