問題タブ [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.
c - a+++++b が機能しないのはなぜですか?
このコードでは、次のエラーが発生します。
エラー: インクリメント オペランドとして左辺値が必要です
しかし、 と の間にスペースを入れるa++ +
と++b
、正常に動作します。
最初の例のエラーはどういう意味ですか?
c - C で値を参照しようとすると LValue エラーが発生する
誰かにとって楽しいこと間違いなしの1枚です。オブジェクトの配列があり (ここのテスト/デモ コードでは、簡単にするために double にしています)、これらのオブジェクトへのポインターの配列を作成します。
これを行う理由は、オブジェクトを交換するつもりであり、オブジェクト自体を交換するとコストがかかりますが、ポインター (セカンダリ配列内) を交換するのは安価だからです。
ボックス データ型内に多数のサブインデックスがあります。基本的に、私の目標は、ボックスが「所有する」オブジェクトへのポインターの連続したストレッチを維持できるようにすることです。これを行うには、あるボックスから別のボックスに転送するときに、マスター ポインター配列内で多数のスワップを実行する必要があります。ボックス構造内のサブインデックスを使用してこれを行いますが、エラーが発生するのはそこです...エラーについてはコメント行を参照してください。
「-1」が原因だと思いますが、上記のループで「+1」を使用して同様のことを行うと、なぜそれが有効でないのかわかりません。
PS これは REAL テスト コードです。私はコンパイルします
g++ main.cpp
. 私はコメントと大文字小文字に細心の注意を払いませんでした。MSDN の提案する大文字小文字スキームに固執しようとしただけなので、判断しないでください... それはただの簡単で汚いテストです!!
編集1
これが気にする人のための作業コードです... PMG使用法をc++
考慮してこれを変更しました。new
そしてヒース、あなたの答えは根本的な問題を解決しませんでしたが、私はあなたに信用を与えています.
これが本当の解決策です:
適切なスワッピングに注意してください!!
c++ - LValue エラーの増加
以下は、トリプル ネストされたインデックス スキームです。ポインターの配列へのポインターは、コメント行で逆参照されます...理論的には、これによりポインターが得られるはずです。そこから 1 を引いて参照し、それをポインタの配列へのポインタに再割り当てします。しかし、その行では、オペランド「&」の左辺値エラーが発生します。
完全に明確にさせてください。ここでエラーが発生している理由を知り、ポインターの配列内の前の要素のアドレスをフレームダブルポインターに割り当てるために機能するメソッドを取得したい。
両方の基準を満たす完全なソリューションのみを受け入れます....
c - モジュールをロードするためのこの単純な C テスト プログラムを動作させるにはどうすればよいですか?
Linux で dlopen と dlsym を使用して、次の 2 つのソース ファイルを機能させます。
と:
しかし、最初のものをコンパイルすると、次のように言い続けます:
main.c:9: エラー: 代入の左オペランドとして左辺値が必要です
編集: キャストを追加して、それを関数ポインターにしようとしましたが、今では次のように表示されます: main.c:(.text+0x1f): dlopen'
main.c:(.text+0x2b): undefined reference to
dlsym への未定義の参照'
c - これらの C ポインター操作は問題を引き起こしますか?
私がそれを持っているとしましょう:
私はNULL
ポインタを逆参照しているので、これは問題になると確信しています:
NULL
一方、それ自体ではない *p のアドレスを取得するため、これは問題ないと思います。
どちらの場合も私は正しいですか?
c++ - 一時的なオブジェクトと参照はどうなっていますか?
通常の左辺値参照を一時オブジェクトにバインドできないことがよくあります。そのため、クラス A のメソッドが、コピーを必要としない場合に const A& をパラメーターとして受け取ることがよくあります。ただし、そのような構成は完全に合法です。
一時オブジェクト 3 + 4 を参照 d にバインドするのではなく、オブジェクト 3 + 4 で参照を初期化するためです。変換または sth (つまり、別の一時オブジェクト) を使用して一時オブジェクトから取得したオブジェクトを使用して初期化されます。この場合、次のことがわかります。
i は double 型ではなく、それを継承していないため、これは正しくありません。ただし、それは一時オブジェクトを参照にバインドできることを意味しますが、それは本当にバインドされているのでしょうか? 一時オブジェクトをパラメーターとしてコピーコンストラクターを使用して新しいオブジェクトを作成していませんか?
したがって、私が思うに、A& の代わりに const A& param を取るメソッドを持つことのポイントは、2 番目のケースでは、そのようなメソッドがタイプ A の一時オブジェクトをパラメータとして取ることができないということではなく (そうなるため)、それにはコピーが含まれるためです。コンストラクター (パラメーターが型 A であるかのように)。私は正しいですか?
c - 「&(epage->incoming[0]) = spage;」の違い および "&(epage->incoming[p2]) = spage;"
この特定のコード ブロックの最後の行で、「割り当ての左オペランドとして左辺値が必要です」というエラーが生成されます。混乱は、最後の行でこのエラーがスローされ、最後から 2 番目の行ではスローされない理由にあります。
ここでspage
、epage
は以下で定義される構造体です。
関数find
は へのポインターを返しますstruct webpage
。
この問題は、構造体とポインタを double に変更し、最後の行を に変更することで解決されoutgoing
ましincoming
た(epage->incoming[p2]) = spage;
。
エラーが発生した理由はまだわかりませんが...
c - 式は変更可能な L 値でなければなりません
私はここにいますchar text[60];
次に、次のようにしますif
。
そして、式は変更可能な L 値でなければならないと常に述べていました。
c++ - C ++:戻り値はL値ですか?
このコードを考えてみましょう:
Clangでさえ、コンパイラはそれについて文句を言いません。なぜq() = ...
線が正しいのですか?
objective-c - ハードコードされた値を contentSize に追加する
スクロールビューを、ラベル、UIImageView、およびテキストビューを含むコンテンツに正しく適合させようとしています。テキストビューは異なるテキストに動的にサイズ変更されるため、スクロールビューのコンテンツ サイズをテキストビューと同じサイズにしました。
それは期待どおりに機能したため、スクロールビューは希望するサイズに近くなりましたが、サイズを変更しないラベルと画像を補うために、静的な 180 ピクセル程度を追加する必要があります。1行か2行の簡単なコードだと思いますが、わかりません。私はもう試した:
と
およびそれを機能させるための他のいくつかの組み合わせですが、代入の左オペランドとして必要な Lvalue やバイナリ + への無効なオペランドなどのエラーが発生し続けます。簡単な解決策が欠けていると確信しています。助けてくれてありがとう。