問題タブ [pointer-to-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.
c++ - 引数リストでダブルポインタを受け入れる関数に配列を渡す
bool myArr[] = { false, false, true };
新しく定義した配列を既存の関数の下に渡したい。
サブルーチンで何も変更することは許可されておらずfun
、識別子を使用して関数を呼び出したいですmyArr
。試してみるfun(&myArr, 2);
と、コンパイルエラーが発生します。
の呼び出しに一致する関数がありません
fun(bool (*)[3], int)
候補は: void fun(bool**, int)
私が考えることができる1つの方法は以下のとおりです
しかし、私には汚れているように見えますfun
。myArr
c# - char** DllImport が失敗する
次の関数を DllImport したいと思います。それにもかかわらず、「ret」は true を返しますが、私の文字列配列は空のように見えるので、マーシャリングが必要かもしれません。どんなヒントでも大歓迎です!前もって感謝します :)
C 関数:
以下のコードはテスト用であり、正しく動作しません。
DllImport:
現在のコード:
うまくいかない2回の試行:
モーセンのアイデア:
結果:
準備された bootLog... ブートログの長さ: 0 ブートログ:
c++ - 二重連結リスト C++ への挿入
私は、二重ポインターが何であるか、およびそれらをどのように使用できるかについての知識を固めるために、二重ポインターで多くの作業を行ってきましたが、最近、非常に奇妙な問題に遭遇しました。if ステートメントでコードを開始することを避けるために、ダブル ポインターを使用して二重リンク リストにノードを挿入するコードを作成しようとしています。私のコードは次のとおりです。
私は主にこのelseステートメントに問題があります:
問題がないように、前へのリンクと次へのリンクが正しく順序付けられていると確信していますが、何らかの理由で、次の行に:
newNode prev もそれ自体に切り替えられますが、そうすべきではないと思います。私には明らかになっていなかったポインタの機能を見落としていたのでしょう。
プログラムからの出力は次のとおりです。
リストが継続的に追加されるように、入力は一度に 1 つの数字に入れられます。
誰かがもっと明確にする必要がある場合は、hackerrank の問題へのリンクを次に示します。
https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doublely-linked-list
私はプログラミングを上達させようとしている学生です:)どんな助けも大歓迎です!!
c++ - それ自体がポインターであるクラス プロパティを指すこのポインター
「this」ポインターはモジュール自体で宣言された個々のオブジェクトを指しているため、この場合は隠しパラメーターのようになるため、「関数で予期しないメンバー識別子....」というエラーでこのコードがコンパイルに失敗するのはなぜだろうかと思っていました。クラスがスタンドアロン (つまり、他のクラスを継承しないクラス) の場合、'this' の使用は痕跡であり、'this' を明示的に使用しても違いがあってはなりません。
また、「this」を使用してポインターであるプロパティを指すことは違法であることを考慮すると (コンパイラーがエラーをスローするため)、コンパイラーがユーザー定義メソッド (getdata1()、getdata2()、 setdata1(),setdata2()) コンストラクタとデストラクタをエラーなしと見なしますか? (これは、ポインターであるプロパティを指すために「this」を使用することは違法ではないことを示唆しています。このエラーの背後には何らかの理由があるはずです。)
コンパイラによってスローされたこのエラーの背後にある理由を誰か説明してもらえますか? その背後には説明があるに違いないと私は信じています。エラーはコメントとして記載されていることに注意してください。合計 4 つのエラーがスローされ、すべての 'this->' がコードから削除されると (予想どおり)、プログラムは必要に応じてコンパイルおよび機能します。
前もって感謝します。
c - スワップ リンクリスト ノードでのポインタへのポインタの使用
リンクされたリストの最初から最後まで連続する2つのノードを交換するというこの問題に遭遇しました。 5] から [2,1,4,3,5]) へのポインター ソリューションを理解するのが難しいことがわかりました。誰でも次のコードで私を助けることができますか
*pp = b という行がわかりません。「頭」を「b」に変更するだけで、「a」はそのままにしておくのはなぜですか? デバッグ時には、この行の前の 'a' と 'head' は同じです。
c++ - ptr-to-ptr 配列の使用?
このようなものの使用と説明は何ですか?:
私は試験のために勉強していますが、テスト試験では、ポインタからポインタへのオブジェクトを使用し、そこから動的配列を作成する必要があります。2 つのクラスがあります。ウォレット&ウォレットキーパー。ソリューションでは、WalletKeeper のヘッダー ファイルでこれを行いました。
そしてコンストラクターで:
次のような基本的な動的配列を理解しています。
これは、このウォレットの配列が作成されるメモリ内の場所を指すポインタを作成することを意味するため、これらのメモリ スロットの内容を変更できます。しかし、なぜポインターの配列へのポインターを作成するのでしょうか? 使用は何ですか?
ウォレットには独自の配列はありません。これを読んだので、別の方法で理解できたはずです:多次元配列への動的ポインターを初期化する正しい方法?
教授は、さらに苦労するまで休暇中です。
c - Cでポインタ(行列)値のポインタをコピーする
問題は次のとおりです。ポインターからポインターを使用して、動的マトリックスを作成しましたmatrix1
このマトリックスのコピーを別のマトリックスに作成したいのですが、matrix2
私はそれをやりたいので、matrix2
いじらずにいじることができるのでmatrix1
、次のことを試みました:
ただし、プログラムは中断し、次のように表示されます。
見た目からして、関数を forとcreate_matrix
for の 2 回使用した方が使いやすいことがわかります。しかし、私の元のプログラムのやり方では、マトリックスを完成させるために多くのことを行うので、それはあまりにも多くの作業になるでしょう. ところで、C++ を使わないようにしたいのですが、使わずに行う方法はありますか? それは私にとってより良いでしょう。matrix1
matrix2
コード「create_matrix」は次のとおりです。