无法在 MSVC 1930+ 常量上下文中使用模板函数类型(视觉工作室 2022)
当我有这样的函数模板时: template T func(T bar) { return bar; } 我无法在最新的 MSVC 编译器的常量上下文中使用它的实例化: constexpr bool b = …
如何检查参数是否是 C 预处理器宏中的整型常量表达式?
我目前正在清理现有的 C 库,以便无耻地发布它。 预处理器宏 NPOT 用于在编译时计算给定整型常量表达式的下一个更大的 2 的幂。该宏通常用于直接初始…
为什么常量指针不能是常量表达式?
以下程序可以编译: template class Test{}; extern const int var = 42; //extern needed to force external linkage int main() { Test test; } 但…
三元运算符的指针转换问题
我知道三元运算符有一些令人惊讶的限制,但我有点困惑,这对我来说无法编译: void foo(bool b) { int* ptr = ((b) ? NULL : NULL); } 显然这是显示问…
使用字符串值创建 lambda 表达式 ConstantExpression
我想创建 lambda 表达式,提供属性名称、值(作为字符串)和属性类型(作为类型)。 问题在于 Expression.Constant(value1, propertyType); 传递给 Fo…
不能出现在常量表达式中
在下面的 C++ 程序中: static const int row = (dynamic_cast(log(BHR_LEN*G_PHT_COUNT)/log(2))); static const int pht_bits = ((32*1024)/(G_PHT_…
static const的地址不是const表达式吗?
我虽然 address-of-static 是一个常量表达式,如下例所示,但我收到编译器错误(或者这是 C++0x 的新功能?) class X { static const int x; enum { …
为什么 Java 常量除以零不会产生编译时错误?
可能的重复: 1/0 是合法的 Java 表达式吗? 为什么这段代码可以编译? class Compiles { public final static int A = 7/0; public final static in…
msdn 页面“C++”处的拼写错误常量表达式”?
它在 c++ 常量表达式的 msdn 页面 中说: 非整数常数必须是 转换(显式或 隐式地)转换为整数类型 常量表达式中合法。 因此,下面的代码是 合法: con…
比较 switch 语句中的 ALAssetGroupType
您好,我正在调用 ALAssetsLibrary, -enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:block failureBlock:failure; 然后在枚举块内我想比较…
Scala 中可以使用负值作为常量表达式吗?
我有一个返回双精度值的 Java 注释: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface DoubleValue { double val…
带有自定义对象的常量表达式
我正在尝试使用自定义类的实例作为模板参数。 class X { public: X() {}; }; template struct Bar { }; const X x; Bar foo; 编译器声明 x 不能出现在…
- 共 1 页
- 1