向static_assert添加字符串文字
adding string literal to static_assert
是否有一种方法来组合将由static_assert输出的内容?我的意思是:
template<class T>
struct X
{
static_assert(std::is_signed<T>::value, "Type " + T + " must be signed.");//this doesn't work
};
基于不能编译
int main()
{
const char c[2] = "1";
static_assert(1==1, c)
}
和
int main()
{
const char* c = "1";
static_assert(1==1, c)
}
都有错误error: expected a string literal
,那么我不得不得出结论,这是不可能的。
"字符串字面值由0个或多个由双引号(")包围的源字符集字符组成。字符串字面值表示一个字符序列,这些字符组合在一起形成一个以空结尾的字符串。c++ String literal
您可能需要考虑使用Boost::StaticAssert
,因为这可能会给您您正在寻找的。
相关文章:
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 如何使用字符串文字作为宏参数
- 有没有办法从非C/C++文件中读取C++原始字符串文字的内容
- 构造<int>具有 2 个字符串文字的向量
- 初始化或分配空字符串文字到指向 C 中的 char 的指针或指向 C++ 中 const char 的指针的原因是什么
- 方便地对C++中的所有字符串文字进行模糊处理
- 比较 std::string 和 C 样式字符串文字
- 如何从char16_t字符串文字中读取双精度?
- 如果我在块中编写字符串文字,是否会从数据部分复制整个字符串数据?
- C++ 不能在cout中使用向量和字符串文字
- 为什么必须将 const 添加到 constexpr 中才能进行字符串文字声明?
- C++:Unicode 字符串文字的可移植性
- 返回空字符串文字 VS. 返回空点 - 它们是一样的吗?
- 确保字符指针始终指向相同的字符串文字
- 如何按照 Google C++风格指南连接字符串文字?
- 通过 constexpr 中的 'const char *' glvalue 访问字符串文字的值会出错
- 字符串文字到 char 数组的转换如何在C++中实际工作
- 另一个字符串文字,UDL 迷宫
- strlen 是否针对字符串文字进行了优化?
- 用户定义的字符串文字为字符串null终止