gpt4 book ai didi

c++ - 依赖于相同值的多个 static_assert

转载 作者:行者123 更新时间:2023-11-28 05:56:36 28 4
gpt4 key购买 nike

我在编译时过滤一个元组,如果元组为空或者元组包含多个元素,我想输出一条自定义错误消息。

static_assert 似乎有点太复杂了,因为我需要使用 bool 逻辑。

static_assert(size != 0 || size >= 1, "Empty");
static_assert(size == 1 || size == 0, "More than 1");

我不认为这样的事情是可能的?

static_if(size == 0) compile_err("Empty");
static_if(size > 1) compile_err("More than 1");

较新版本的 C++ 是否提供 static_assert 的替代方案?

最佳答案

static_assert 允许 bool 逻辑。它不允许调用 (non-constexpr) 函数。因此,您没有理由不能在代码中使用该逻辑。

static_assert(sizeof(Args...) != 0, "Empty");
static_assert(sizeof(Args...) < 2, "More than 1");

关于c++ - 依赖于相同值的多个 static_assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34054760/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com