問題タブ [dereference]

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

c - C プログラミング: 不完全な型へのポインターの逆参照エラー

次のように定義された構造体があります。

これらの構造体へのポインターの配列:

私のコードでは、構造体へのポインターを作成し、そのメンバーを設定して、配列に追加しています。

次のエラーが表示されます。

エラー: 不完全な型へのポインターを逆参照しています

内部のメンバーにアクセスしようとするたびにnewFile。私は何を間違っていますか?

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

c - 不完全な型へのポインターの逆参照

これについて多くの質問を見てきましたが、特定のコードなしで別の質問をするつもりです。型が不完全な原因を簡単に特定する方法はありますか? 私の場合、私は他の誰かのコードを使用しており、ヘッダーが正しくないことは完全に確信していますが、(コンピューターは人間の眼球よりもはるかに高速で優れているため)コンパイラーに言わせる方法はありますか、「34行目にタイプXがあると思いますが、実際にはありません。」エラー自体は割り当て時にのみ表示されるため、あまり役に立ちません。

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

c - c - 逆参照の問題

問題を切り分けようとしてきた問題を単純化しましたが、役に立ちません。

メモリを表す 2 次元の char 配列があります。そのメモリのシミュレーションへの参照を関数に渡したいです。メモリの内容をテストする関数では、メモリを反復処理して、各行の内容を出力したいだけです。

プログラムが最初の行を出力した後、seg fault が発生します。

私のプログラムは次のとおりです。

これにより、出力が得られます。

プログラムを変更し、memory_ref を逆参照して関数内のメモリのローカル バージョンを作成すると、正しい出力が得られます。

そう:

次の出力が得られます。

これは私が望むものですが、メモリのローカルバージョンを作成することは役に立ちません。関数から元のメモリの値を変更できるようにする必要があるためです。

2 回目にセグ フォールトが発生する理由がわかりません。アドバイスをいただければ幸いです。

どうもありがとう

ジョー

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

c++ - ベクトルイテレータは実行時にベクトルを参照解除できません*>*>

実行時に「ベクトル反復子は逆参照できません」というエラーを作成するこのデストラクタがあります。

gridMatrix は std::vector<std::vector<std::vector<AtomsCell< Atom<T> * > * > * > * > です。

typename と typedef も追加しましたが、まだエラーがあります。

私は、vect* of vect* の vect* の vect というこの考えに移り、boost::multi_array を使用すると思いますが、それでもこれが間違っているかどうかを理解したいと思います。

エラーを作成する完全なコードが必要な場合は、喜んで提供しますが、フォーラムにファイルを添付することはできないと思います。しかし、それでもそれほど大きくはないので、必要に応じてここにコピーできます。

ありがとう

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

c++ - ポインターを逆参照することを逆参照と呼ぶのはなぜですか?

逆参照はなぜ逆参照と呼ばれるのですか?

私はポインターを適切に学習しているだけです。なぜ逆参照がそう呼ばれているのか知りたいです。宛先へのポインターを経由するのではなく、参照を削除しているように聞こえるので、私は混乱しました。

なぜこのように呼ばれているのか、誰か説明できますか?

私には、destination や points_to_value のようなものがより理にかなっています。

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

c++ - メンバー関数にローカルなストレージ割り当てをそのクラスに移動することによって得られるパフォーマンスはありますか?

次の C++ クラスがあるとします。

関数 bar() は、ループ内で何百万回も呼び出されます。明らかに、呼び出されるたびに、変数 a..f を割り当てる必要があります。変数を Foo クラスの a..f メンバーにして、関数のエントリ ポイントで初期化するだけでパフォーマンスが向上しますか? 一方、a..f の値は this-> で逆参照されるので、実際にパフォーマンスが低下する可能性はないかどうか疑問に思っています。ポインターを介して値にアクセスする際のオーバーヘッドはありますか? ありがとう!

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

perl - パラメータからのハッシュの間接参照

このコードは機能します:

これはしません:

これと同様に:

なんで?

=============================

もう一度正確に言うと:

言い換えれば、16行目-そうではありません。

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

perl - ローカル コピーを作成せずにハッシュを逆参照する

次のコードの 9 行目は、ハッシュのローカル コピーを作成します。%d を変更しても、グローバル %h 変数 (行: 5) は変更されません。%h に変更を加えるには、参照 (行: 8) を使用する必要があります。

ローカルコピーを作成せずにサブでハッシュを逆参照する方法はありますか? 多くの参照を含む複雑なレコードがあり、逆参照を使用してナビゲートする方がはるかに簡単であるため、質問しています。

----------------

返信ありがとうございます。

問題は、サブで %h にある種の「エイリアス/バインド」を作成できるかどうかです。%d を含むサブで %h のコンテキストを変更したいと考えています。私が %d を作成するたびに、彼は %h のローカル コピーを作成します - それを回避する方法はありますか、それとも常に参照を使用する必要がありますか?

----------------

もう一度 :) $href の仕組みを知っています。チュートリアル/マニュアル/ドキュメントなどを読みました。そこに答えが見つかりませんでした-そこに書かれていないので、これは不可能だと思いますが、誰が知っていますか。

私はそのような行動を達成したい:

それと同等です:

%d の助けを借りてそれを行う方法 - 実際に可能ですか?

ローカル コピーを作成せずに %h を指すには、XXXXXXXXX の下に何を入力すればよいですか?

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

c - C ポインターの初期化と逆参照、何が問題なのですか?

これは非常に単純なはずですが、コンパイラがここで不平を言っている理由がわかりません。

次の苦情を取得します。

foo.c: 関数 'main' 内:
foo.c:6: 警告: 初期化により、キャストなしで整数からポインターが作成されます

ポインター n が参照する値を出力したいだけです。printf() ステートメントで逆参照すると、セグメンテーション違反が発生します。これを gcc -o foo foo.c でコンパイルします。

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

c++ - C++ トラッキング プリミティブ型の値の変更

一部の int 値が予期せずゼロになるという奇妙なバグのある複雑なプログラムがあります。

この組み込み型の値を追跡したいので、簡単にデバッグできます。

そのために、次の ValueWatcher テンプレート クラスを作成して、ValueWatcher が逆参照している場合を除いて、ほとんどの値の変更を追跡できるようにしました。(プログラムには int *, & が必要なため、これらの逆参照演算子を作成しました)

問題は、クライアント コードが ValueWatcher の int & または int * を必要とする場合、int & または int * を指定できますが、int * または & は ValueWatcher インスタンスを保持できないため、追跡できなくなります。

これを解決する方法はありますか?組み込み型の & または * を返すだけでなく、参照またはポインター クラスのインスタンスを返すことで解決できると思います。しかし、私はそれを行う方法がわかりません。

さらに、デバッガーでこのプログラムを実行できません。この問題は REAL 環境でのみ発生し、再現が非常に困難です。