問題タブ [lvalue]

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 投票する
9 に答える
9570 参照

c - a+++++b が機能しないのはなぜですか?

このコードでは、次のエラーが発生します。

エラー: インクリメント オペランドとして左辺値が必要です

しかし、 と の間にスペースを入れるa++ +++b、正常に動作します。

最初の例のエラーはどういう意味ですか?

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

c - C で値を参照しようとすると LValue エラーが発生する

誰かにとって楽しいこと間違いなしの1枚です。オブジェクトの配列があり (ここのテスト/デモ コードでは、簡単にするために double にしています)、これらのオブジェクトへのポインターの配列を作成します。

これを行う理由は、オブジェクトを交換するつもりであり、オブジェクト自体を交換するとコストがかかりますが、ポインター (セカンダリ配列内) を交換するのは安価だからです。

ボックス データ型内に多数のサブインデックスがあります。基本的に、私の目標は、ボックスが「所有する」オブジェクトへのポインターの連続したストレッチを維持できるようにすることです。これを行うには、あるボックスから別のボックスに転送するときに、マスター ポインター配列内で多数のスワップを実行する必要があります。ボックス構造内のサブインデックスを使用してこれを行いますが、エラーが発生するのはそこです...エラーについてはコメント行を参照してください。

「-1」が原因だと思いますが、上記のループで「+1」を使用して同様のことを行うと、なぜそれが有効でないのかわかりません。

PS これは REAL テスト コードです。私はコンパイルします

g++ main.cpp

. 私はコメントと大文字小文字に細心の注意を払いませんでした。MSDN の提案する大文字小文字スキームに固執しようとしただけなので、判断しないでください... それはただの簡単で汚いテストです!!

編集1

これが気にする人のための作業コードです... PMG使用法をc++考慮してこれを変更しました。newそしてヒース、あなたの答えは根本的な問題を解決しませんでしたが、私はあなたに信用を与えています.

これが本当の解決策です:

適切なスワッピングに注意してください!!

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

c++ - LValue エラーの増加

以下は、トリプル ネストされたインデックス スキームです。ポインターの配列へのポインターは、コメント行で逆参照されます...理論的には、これによりポインターが得られるはずです。そこから 1 を引いて参照し、それをポインタの配列へのポインタに再割り当てします。しかし、その行では、オペランド「&」の左辺値エラーが発生します。

完全に明確にさせてください。ここでエラーが発生している理由を知り、ポインターの配列内の前の要素のアドレスをフレームダブルポインターに割り当てるために機能するメソッドを取得したい。

両方の基準を満たす完全なソリューションのみを受け入れます....

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

c - モジュールをロードするためのこの単純な C テスト プログラムを動作させるにはどうすればよいですか?

Linux で dlopen と dlsym を使用して、次の 2 つのソース ファイルを機能させます。

と:

しかし、最初のものをコンパイルすると、次のように言い続けます:

main.c:9: エラー: 代入の左オペランドとして左辺値が必要です

編集: キャストを追加して、それを関数ポインターにしようとしましたが、今では次のように表示されます: main.c:(.text+0x1f): dlopen' main.c:(.text+0x2b): undefined reference todlsym への未定義の参照'

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

c - これらの C ポインター操作は問題を引き起こしますか?

私がそれを持っているとしましょう:

私はNULLポインタを逆参照しているので、これは問題になると確信しています:

NULL一方、それ自体ではない *p のアドレスを取得するため、これは問題ないと思います。

どちらの場合も私は正しいですか?

0 投票する
5 に答える
2337 参照

c++ - 一時的なオブジェクトと参照はどうなっていますか?

通常の左辺値参照を一時オブジェクトにバインドできないことがよくあります。そのため、クラス A のメソッドが、コピーを必要としない場合に const A& をパラメーターとして受け取ることがよくあります。ただし、そのような構成は完全に合法です。

一時オブジェクト 3 + 4 を参照 d にバインドするのではなく、オブジェクト 3 + 4 で参照を初期化するためです。変換または sth (つまり、別の一時オブジェクト) を使用して一時オブジェクトから取得したオブジェクトを使用して初期化されます。この場合、次のことがわかります。

i は double 型ではなく、それを継承していないため、これは正しくありません。ただし、それは一時オブジェクトを参照にバインドできることを意味しますが、それは本当にバインドされているのでしょうか? 一時オブジェクトをパラメーターとしてコピーコンストラクターを使用して新しいオブジェクトを作成していませんか?

したがって、私が思うに、A& の代わりに const A& param を取るメソッドを持つことのポイントは、2 番目のケースでは、そのようなメソッドがタイプ A の一時オブジェクトをパラメータとして取ることができないということではなく (そうなるため)、それにはコピーが含まれるためです。コンストラクター (パラメーターが型 A であるかのように)。私は正しいですか?

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

c - 「&(epage->incoming[0]) = spage;」の違い および "&(epage->incoming[p2]) = spage;"

この特定のコード ブロックの最後の行で、「割り当ての左オペランドとして左辺値が必要です」というエラーが生成されます。混乱は、最後の行でこのエラーがスローされ、最後から 2 番目の行ではスローされない理由にあります。

ここでspageepageは以下で定義される構造体です。

関数findは へのポインターを返しますstruct webpage

この問題は、構造体とポインタを double に変更し、最後の行を に変更することで解決されoutgoingましincoming(epage->incoming[p2]) = spage;

エラーが発生した理由はまだわかりませんが...

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

c - 式は変更可能な L 値でなければなりません

私はここにいますchar text[60];

次に、次のようにしますif

そして、式は変更可能な L 値でなければならないと常に述べていました。

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

c++ - C ++:戻り値はL値ですか?

このコードを考えてみましょう:

Clangでさえ、コンパイラはそれについて文句を言いません。なぜq() = ...線が正しいのですか?

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

objective-c - ハードコードされた値を contentSize に追加する

スクロールビューを、ラベル、UIImageView、およびテキストビューを含むコンテンツに正しく適合させようとしています。テキストビューは異なるテキストに動的にサイズ変更されるため、スクロールビューのコンテンツ サイズをテキストビューと同じサイズにしました。

それは期待どおりに機能したため、スクロールビューは希望するサイズに近くなりましたが、サイズを変更しないラベルと画像を補うために、静的な 180 ピクセル程度を追加する必要があります。1行か2行の簡単なコードだと思いますが、わかりません。私はもう試した:

およびそれを機能させるための他のいくつかの組み合わせですが、代入の左オペランドとして必要な Lvalue やバイナリ + への無効なオペランドなどのエラーが発生し続けます。簡単な解決策が欠けていると確信しています。助けてくれてありがとう。