static-assert 相关问题

在编译时验证的断言语句。 C ++ 11 / C ++ 14的一个特性,自4.3以来由gcc支持

是否可以为不应编译的表达式表达static_assert?

我想用以下形式表达static_assert:static_assert(表达式不应该编译);让我添加一个完整的例子:模板 struct A {}; template <> struct A&...

回答 1 投票 8

C中的静态断言

在C(而不是C ++)中实现编译时静态断言的最佳方法是什么,特别强调GCC?

回答 12 投票 73

/boost/lockfree/queue.hpp:错误:静态断言失败:(boost :: has_trivial_destructor ::值)

我试图在此文件中将boost :: lockfree :: queue替换为std :: queue https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp我添加了#include ...

回答 2 投票 4

如何在C ++ 11中定义SFINAE和静态断言的约束

我正在尝试使用模板进行序列化/反序列化,现在有了一些工作。显然,在实现它时,我遇到了许多带有数百个编译器错误日志的麻烦。 ...

回答 2 投票 2

如果函数名为constexpr,则条件为static_assert

我知道有一个constexpr()运算符的提议,但这还没有在gcc / clang中实现。我也知道使用机器代码编辑等一些技巧有一个错误:http:...

回答 2 投票 6

静态断言std :: array的大小,其类型是使用成员函数的返回值中的decltype获得的

(对于笨拙的标题道歉;我不知道如何更简洁地总结这个问题。如果有人有更好的想法,请随时编辑!)我想写一个免费的功能,可以......

回答 1 投票 -1

如何使static_assert块在模板类中可重用?

假设我有一个模板类,它可以创建多个static_asserts:template class Foo {static_assert(!std :: is_const ::值,””); static_assert(!的std :: is_reference ...

回答 4 投票 3

C ++模板:键入参数以检查验证

template <typename input_currency_type,typename output_currency_type,typename validation = convert_debug_policies :: fast_validity_currency_type > ......

回答 1 投票 0

模板特化中的静态断言即使未实例化也会失败

以下代码编译正常:#include 模板 struct dependent_true:std :: true_type {};模板 struct dependent_false:std :: ...

回答 2 投票 3

如何将类型名称转换为static_assert错误?

假设我有这个程序,其中我想要一堆专门的类型而不是一般类型。当我编译它时,我想得到“Error:Int”而不是“Error:Z”。我尝试过typeof(Z)并且没有......

回答 1 投票 3

static_assert在构造函数的初始化列表之前

有一个非模板化的类,它有一个模板化的构造函数。是否可以在这样的构造函数中初始化成员变量之前检查静态断言?例如,以下代码......

回答 3 投票 5

包含多态对象的向量:静态断言错误

从大学开始就不使用C ++,我试图使用带有两种子对象的向量,我显然遇到了错误。最初我使用了一个指针向量,但是如果我...

回答 2 投票 1

c ++为什么这个static_assert有效:

我有关于constexpr的以下问题,我有点明白,一个人不能声明一个std :: shared_ptr 是const,但为什么第一个static_assert()有效?另外,怎么做......

回答 2 投票 2

如何用宏做static_assert?

我曾尝试使用此建议来执行静态断言,但如果我在模板的方法中使用它,则不会出现编译错误。示例如下:#include #define ...

回答 5 投票 0

如何在编译时检查结构的大小?

我想添加在编译期间检查结构大小的代码,以确保它是预定义的大小。例如,我想确保当我...时,此结构的大小为1024字节

回答 5 投票 32

© www.soinside.com 2019 - 2024. All rights reserved.