問題タブ [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 投票する
8 に答える
41701 参照

c++ - C++は定数式を期待していました

このプログラムは、float x[size][2]を宣言した行で予想される定数式エラーを出します。なんで?

0 投票する
4 に答える
452 参照

c++ - 定数で配列を作成する

gcc コンパイラを使用して Linux 上の Netbeans でプログラムに取り組んでいましたが、Windows 7 で Visual C++ に切り替えたときに、Visual C++ がexpected constant expression数行で述べているようにコードがコンパイルに失敗しました。Netbeans では、単純に に似たことchar name[fullName.size()];を行いましたが、Visual C++ では、とりわけ次のことを試しました。

配列に使用する定数を作成するにはどうすればよいですか?

注:この質問については知っていますが、プログラムの多くの部分を書き直す必要があるため、ベクトルを使用せずにこれを機能させる方法はありますか?

0 投票する
3 に答える
215 参照

c++ - カスタムオブジェクトを使用した定数式

カスタムクラスのインスタントをテンプレートパラメータとして使用しようとしています。

xコンパイラは、定数式に表示できないと述べています。どうして?コンパイル時にそのオブジェクトを構築するために与えられたすべてがあります。

0 投票する
1 に答える
1207 参照

scala - Scala で定数式として負の値を使用できますか?

double 値を返す Java アノテーションがあります。

scala クラスのフィールドに注釈を付けようとすると、次のように値が負になります。

「注釈引数は定数である必要があります。見つかりました: 0.05.unary_-」というメッセージのコンパイラ エラーが表示されます。数値リテラルが必要であることを理解し、Scala 言語仕様を調べたところ、- 記号は指数にのみ使用され、仮数には使用されないようです。注釈を使用して実行時情報として負の値を取得する方法を知っている人はいますか?

ありがとう、クリンケ

0 投票する
6 に答える
15274 参照

c - Cの「定数式」であり、そうでないものの例は?

多くのグーグル検索の後でも、Cの定数式とそうでないものとの間で少し混乱しています。C の定数式とそうでないものの例を教えてください。

0 投票する
3 に答える
838 参照

java - Java コンパイラはリテラルの合計を事前に計算しますか?

コンパイラがこのコードを処理して を追加10 + 20し、バイト コードがこのコード行と同じであるというのは本当ですか?

それについてどこで読むことができますか?

0 投票する
1 に答える
1418 参照

iphone - switchステートメントでのALAssetGroupTypeの比較

こんにちは私はALAssetsLibraryのを呼んでいます

次に、列挙ブロック内で、返されたグループのタイプを比較し、それを関連する配列に追加します。私が試してみました

初期ログは、「グループALAssetsGroup-名前:フォトライブラリ、タイプ:アルバム、アセット数:177」をトレースします。

次のログは「アセットタイプ2」です

しかし、3番目のログは呼び出されません。

私が間違っていることについて何か考えはありますか?

0 投票する
2 に答える
221 参照

c++ - msdn ページの「C++ 定数式」のタイプミス?

c++定数式のmsdnページで次のように述べています。

非整数定数は、(明示的または暗黙的に) 整数型に変換して、定数式で有効にする必要があります。したがって、次のコードは有効です。

少なくとも VC++ 10.0 では、2 行目で「エラー C2057: 定数式が必要です」が生成されます。それで、他のコンパイラでは合法ですか、それともmsdnページは単に間違っていますか?

0 投票する
7 に答える
97821 参照

c++ - エラー:スイッチの数量が整数ではありません

StackOverflowとマルチグーグルリンク全体で自分の問題を調査しましたが、まだ混乱しています。私にとって最良のことは尋ねることだと思いました...

簡単なコマンドライン計算機を作成しています。これまでの私のコードは次のとおりです。

私が得るエラーは次のとおりです。

強力なインターネット、それは文字列がswitchステートメントで使用されることを許可されていると言っています。

皆さん、ありがとうございました。

0 投票する
2 に答える
2008 参照

c - Cで定数式を構成するものの詳細は?

Cは、少なくとも3つのレベルの「定数式」を定義します。

  • 定数式(修飾なし)
  • 算術定数式
  • 整数定数式

6.6パラグラフ3は次のように述べています。

定数式には、評価されない部分式に含まれている場合を除き、代入、インクリメント、デクリメント、関数呼び出し、またはコンマ演算子を含めることはできません。

それで、これは1,2定数式ではないという意味ですか?

パラグラフ8は次のように述べています。

算術定数式は、算術型を持ち、整数定数、浮動定数、列挙定数、文字定数、および式のサイズであるオペランドのみを持つものとします。算術定数式のキャスト演算子は、結果が整数定数であるsizeof演算子へのオペランドの一部を除いて、算術型を算術型に変換するだけです。

のオペランドは何(union { uint32_t i; float f; }){ 1 }.fですか?がオペランドの場合1、これはおそらく算術定数式です{ 1 }が、がオペランドの場合、明らかにそうではありません。

編集:別の興味深い観察:7.17段落3では、結果がoffsetof型の整数定数式である必要がありますが、私が知る限り、size_tの標準実装は、標準による整数定数式である必要はありません。offsetofもちろん、これは、実装が(6.6段落10の下で)他の形式の定数式を受け入れること、またはポインター減算ではなくoffsetofマクロを実装することを許可されているため、問題ありません。__builtin_offsetofただし、この観察の本質はoffsetof、整数定数式が必要なコンテキストで使用する場合は、実装によって提供されるマクロを使用する必要があり、独自のマクロをロールする必要がないということです。