問題タブ [double-pointer]

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 に答える
734 参照

c++ - ポインター配列の動的初期化

上記のコードでは、コンストラクター内の 2 行目 (b = new int*[10]) でコンパイル エラーが発生します。エラー: int**' toint*[0u] の割り当てに互換性のない型があります。

なぜそうなのですか?

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

c - 二重ポインタ内の値が正しく更新されない (C)

入力ファイルを読み取り、char** と int* の内容を変更する関数があります。機能は次のとおりです。

メインプログラムで次のように入力とファイルを定義しました。

次のように関数を呼び出します。

入力ファイルには、次の 3 行が含まれます。

while ループ中に「現在の」値が正しく読み取られますが、すべての入力 [*] に格納されることに気付きました。

ここで何がうまくいかないのか誰かが何か知っているなら、私は大いに感謝します。

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

c - ダブルポインタが指す2D配列のサイズを取得するにはどうすればよいですか?

配列を指すダブルポインタから2D配列の行と列の数を取得しようとしています。

上記の関数は、問題が発生しているサイズの詳細を出力する必要があります。

配列を作成するためにmallocを使用しています。


このようなものを使用するとどうなりますか

column = sizeof(a)/ sizeof(int)?

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

c - Cの構造体へのダブルポインタメモリ割り当て

このコードの何が問題になっているのかわかりません。正確に4つの値を入力すると期待どおりに機能しますが、5回目の呼び出し(scanfを要求する前)では、常に次のエラーが発生します。 *glibcが検出されました./a2:ダブルフリーまたは破損(ファストトップ):0x0916e018 * *

これが私のプログラムのコードです:

dSizePtrを作成する必要はなく、&dSizeを渡すだけでよいことはわかっていますが、プログラムの現在の設定方法(これはまったく同じではなく、読みやすくするために圧縮されているだけです)、それを渡す必要があります。それ。

正直なところ、なぜこのエラーが発生するのかわかりません。私のコードを何時間も見てオンラインで読んでいて、解決策が見つかりませんでした。どんな助けでも大歓迎です!

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

c++ - unsignedchar**からopencvマットへ

私はもうすぐそこにいますが、変換する方法がよくわかりません

cv::Matの.data部分がuchar*であることを知っています

私は次の形式で画像を返す関数を使用しています...

しかし、私のコードの残りの部分はcv::Matを使用しています。使用しているlibのソースもありませんので、実際に何をしているのかわかりません。

編集 助けてくれてありがとう、私はこれをやった...

しかし、画像は黒なので、実際に何かがあるかどうかを確認する必要があります。

研究不足で申し訳ありませんが、締め切りが迫っています。宿題ではありません。教授に結果を示す準備をしようとしています。

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

c++ - c++ valgrind ダブル ポインターを削除してメモリ リークを防止する

読んだ後: C++ ポインターの配列: [] を削除または削除しますか? (shai vashid による返信) および http://www.cplusplus.com/forum/beginner/6651/

私は以下を実装しました:

カーネル.h

カーネル.cpp

何が間違っているのかわかりません。

何か提案はありますか?

ありがとうございました。

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

c++ - ポインター逆参照の問題

私は function を持っていますvoid MOVE_TO(Square **sendingSquare, Square **receivingSquare)Squareはクラスです:

問題は、MOVE_TO(...)戻ったときに、両方の正方形が受信側の正方形を指しており、移動するはずだった居住者が完全に姿を消していることです。アイデア/提案? これを回避できるようになるまで、私のコードはほとんど動かなくなります。提案が来る前に自分の問題を見つけたら、戻ってきて自分の質問に答えます。

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

c - 二重ポインタ: ポインタである構造体メンバへのポインタ

「センザンコウ」を再生するプログラムを作成しようとしています (この人のように、はい/いいえの質問をし、リーフ ノードに到達するまでバイナリ ツリーをたどります。次に「推測」し、ユーザーが答えが間違っていた場合、ユーザーが何を考えていたのか、それを間違った推測と区別する質問をユーザーに尋ね、新しいデータをツリーに追加します)。

これは、ツリー ノードの my 構造体です。NodeType は、質問を含むノードの場合は QUESTION_NODE、「オブジェクト」を含むノードの場合は OBJECT_NODE です。これは、ユーザーが考えているとプログラムが推測するものです。質問ノードには、子ノードへのポインターがあります。1 つははい、もう 1 つはいいえです。

これは学習演習であるため、二重ポインターを使用して実行しようとしています。質問ノードをツリーに追加する関数は次のとおりです。

addData 関数は次のように呼び出されます

私の(おそらく間違っている)理解は次のとおりです。

「ask()」では、「node」のメンバー「yes」(または「no」) を指すポインターを addData に渡しています。そのメンバーは、ポインターです。addData で "*replace" に割り当てると、構造体が変更され、"yes" (または no) メンバー ポインターが、作成した新しい質問ノードを指すようにリダイレクトされます。

デバッグしたところ、newQuestionNode と newObjectNode が正常に作成されていることがわかりました。newQuestionNode の子は正しく割り当てられています。ただし、新しい質問ノードはツリーに挿入されません。「*replace = newQuestionNodePtr」行には期待した効果がなく、「ask」スコープの「node」によって参照されるノードの子ポインターはリダイレクトされません。

私の理解で何が間違っているのか誰にもわかりますか?それとも、私のコードでそれを正しく表現していない方法でしょうか? 申し訳ありませんが、この質問はとても長いです。

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

c - ダブル ポインターを使用した 2 次元配列の実装

次のコードを検討してください。

私のコードに問題はありません。それは正常に動作します。

ポインター演算について質問があります。

*(ptr+0)= COMPLETE BLOCK (最初の配列)
*(ptr+1)へのポインター = COMPLETE BLOCK (2 番目の配列) へのポインター。

しかし、何ですか: (*ptr+1)?

GDB 出力:

私はこれについて混乱しています。この疑問を解決するための説明をお願いします。