问题标签 [constant-expression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
385 浏览

c++ - B树类实现:表达式必须有常量值?

假设我们有一个“itemtype.h”头文件,我在其中声明了以下项目:

现在,我需要从这个标题创建“btree.h”

但有以下两行

它说表达式必须具有常量值。那么我该如何解决呢?

0 投票
2 回答
1570 浏览

c# - 常量表达式在“UInteger”类型中不可表示

如果我在 C# 中运行以下代码,那么它运行良好

但是当我在 VB.Net 中运行相同的代码时,它给了我错误“常量表达式在'UInteger'类型中不可表示”

0 投票
4 回答
7007 浏览

c# - c#:什么是常量表达式?

我目前正在使用属性。我经常遇到错误“属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式。” 我真的不知道“常量表达式”是什么意思。

能够将 a 传递Func<MyType, bool>给属性(由在属性存在时执行的代码使用)将非常有用。但很可惜,没有。我不明白为什么不能将该类型放在程序集元数据中,我认为这是我无法将其传递给属性的原因。

谁能给我任何想法?

0 投票
1 回答
106 浏览

c++ - 为什么这个 const 参数不能匹配非类型模板参数?

使用 gcc 编译下面的代码时,出现错误:“i”不能出现在常量表达式中。

为什么是这样?

0 投票
1 回答
1992 浏览

c++ - 变量不能出现在常量表达式中

我很难弄清楚为什么 GCC 4.5 不允许我编译这个:

它在 VS2010 中运行良好。我错过了什么?

更新:我很着急,我没有粘贴整个代码。对于那个很抱歉 :(

PS:正如标题所说,我收到的错误是:“长度不能出现在常量表达式中。”

0 投票
3 回答
492 浏览

c++ - 为什么 constexpr 与模板一起使用?

考虑以下代码:

这编译得很好。但为什么会这样?理论上,constexpr 函数只能调用其他的 constexpr 函数。但是,不能保证运算符将是 constexpr 函数。例如,假设我有一些具有以下接口的类型:

运算符 + 和 *不是constexpr。如果我编写以下代码:

它应该无法编译,因为 constexpr 函数正在调用非 constexpr 函数。但它编译得很好。为什么是这样?

我正在使用带有 -std=c++0x 选项的 MinGW 的 G++ 编译器。

0 投票
1 回答
180 浏览

sql - Linq to SQL 中的常量表达式未正确编译

我有两个具有主从关系的表(mysql),我想在 Linq 中查询(然后在 LinqPad 中进行实验)。问题是 Linq to SQL 无法为以下查询生成正确的结果或 SQL 语句

还有一个

第一个查询不会像后者一样产生正确的结果,我在 LinqPad 中检查后的问题在于(1 - 6/100)编译成1.0. 有人可以解释为什么吗?

0 投票
3 回答
338 浏览

c - 常量表达式和条件表达式之间有什么关系?

我想对C的常量表达式有一个准确的理解。所以,我阅读了C99的相关规定。“6.6 常量表达式”一章的第一条描述了常量表达式的语法,但我看不懂。

C99的“6.6常量表达式”一章第一条规定:

常量表达式
条件表达式

为什么 C99 使用条件表达式来解释常量表达式?毫无疑问,表达式 2 + 3 是一个常量表达式。是条件表达式吗?

0 投票
2 回答
2723 浏览

c++ - 关于常量表达式的困惑

这是对该主题的某种跟进,并涉及其中的一小部分。与上一个主题一样,让我们​​考虑一下我们的编译器具有constexpr用于std::initializer_list和的函数std::array。现在,让我们直奔主题。

这有效

这不会

它因以下错误而崩溃:

尽管我constexpr同时阅读了一些关于常量表达式的论文,但这种行为对我来说仍然没有任何意义。为什么第一个例子被认为是一个有效的常量表达式而不是第二个?我欢迎任何解释,以便之后我可以安息。

注意:我将立即对其进行精确化,Clang 将无法编译第一个片段,因为它没有实现constexpr为 C++14 计划的库添加。我使用了 GCC 4.7。

编辑:好的,这里有一个很好的例子来展示什么被拒绝,什么不是:

0 投票
1 回答
257 浏览

php - 使用 PHP 的 Google Map API 中未终止的字符串常量

我对未终止的字符串常量有疑问。

这是我在 PHP 中的代码:

这是HTML源代码(结果,不是全部,会太长)

如果我删除变量$Alamat,它会很好,没问题。但我向 $Alamat 表示,我不知道我的 PHP 代码有什么问题。

的值$Alamat是这样的(字符串/varchar):

但在 HTML 视图中,它仅显示:

Jln。Kartika 邮政信箱 2047

我认为传递给 HTML 时应该缺少一些字符。

我认为这些字符没有传递并产生此错误,因为$Alamat包含多行而不是单行,而$Hotel包含单行字符串。

任何人都知道如何使这个 varchar 多行可以在 PHP 中使用?