問題タブ [push-back]
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++ - ベクトル エラー、push_back を機能させることができません
これは、コメントを外したコードのほんの一部です。パッキング ベクトルが でエラーを引き起こし続けますが、そのpush_back()
理由はよくわかりません。
編集:それは言うために更新されました
ただし、調整されたテンプレートを使用してもアロケータ エラーが発生します。
std::vector 、 std::allocator > > :: push_back(BinTreeNode > >&
c++ - さまざまな関数で push_back を使用してクラス オブジェクトのベクターを更新する
データ ファイルを読み込んで main に作成したクラス オブジェクトのベクトルがあります。次に、ベクターに対してさまざまな操作 (さまざまなフィールドによる並べ替え、在庫の減算など) を実行する関数を含むいくつかの異なるファイルにベクターを渡します。使用しようとすると問題が発生しますpush_back
既に作成された後、別のファイル (同じプロジェクトの一部) のベクターに追加します。既存のベクトルが関数に渡され、ベクトルが関数内に正常に追加されますが、関数を終了すると、追加されたレコードはもう存在しません。私が知る限り、更新されたレコードにアクセスする必要がありますその後、さまざまなファイル内のすべてのさまざまな関数から前方にベクトルしますよね?メインで作成したものと同じ名前の場合、更新されたベクトルを返す必要はありませんか? 私が使用している言語と用語が間違っていることは確かです (お気軽に訂正してください) が、ベクトルがグローバルに更新されておらず、呼び出し中に関数内でローカルに更新されているだけのようです。 .
これは、ベクトルに追加したい場所で使用している関数内の関数定義とコードです (簡潔にするために、すべての変数パラメーターの割り当てをスキップしています)。私が指しているすべての関数は、クラス内のセッター関数であり、この時点より前に、ベクターには既に 20 のレコードが含まれており、以下の関数と同様に設定されていました。
あまりにも多くのコードで投稿をあふれさせたくはありませんでしたが、役立つ場合はさらに投稿できます。プログラム全体で追加 (または別の関数で行った削除) にアクセスできるようにしたいだけです。
c++ - 文字列メンバーを持つオブジェクトをベクトルに追加する
このクラスのベクトルを操作しているときpush_back()
、初めて機能しますが、その後のpush_back()
呼び出しでは機能しません。文字列メンバーのせいでしょうか?もしそうなら、なぜですか?
c++ - オブジェクト内のベクトルのpush_back
私はこの属性を持つ教授クラスを持っています
このクラスのベクトルがある場合
これを試してみます
しかし、このエラー
c++ - マップをプッシュバックするにはどうすればよいですかベクトルに
私は現在Accelerated C++ (Koening/Moo) という本を勉強していますが、演習の 1 つに問題があります。タスクは、入力として一連の単語を受け取り、それを に格納するプログラムを作成することmap<string, int>
です。文字列は入力された単語であり、関連付けられint
ているのは各単語の出現回数です。次に、出現回数で単語を並べ替える必要があります。つまり、キーではなく値によってです。値でマップをソートすることはできないため、代わりに要素をベクターにコピーしようとしました。これは、述語を使用してソートすることを意図していました。残念ながら、g++ からのエラーでいっぱいの画面しか表示されません。それらは同じ場所から生じているようです-マップの要素をベクターに入れます。これを次のようにしようとしています:
これは明らかに最初の部分にすぎませんが、これでもコンパイルできません。次のエラーが表示されます。
32:31: エラー: std::vector への呼び出しに一致する関数がありません。int> >::push_back(const std::pair, int>&)' /usr/include/c++/4.5/bits/stl_vector.h: 741:7: 注: 候補は: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::map, int>, _Alloc = std::allocator, int> >, value_type = std::map, int>]
私は何を間違っていますか?
c++ - ベクトルc++に挿入する
以下のコードには、最後にたくさんの出力文字列があります。ベクトルに押し戻して文字列に追加しようとすると、文字列を返すことができますが、出力された最後の文字列のみを取得します。すべてを取得する必要があります。 。
すべての文字列を押し戻すことができるように、私は何を間違っているのですか?
c++ - サブベクターにpush_backする方法は?
があり、vector< vector<string> >
を使用して内側のベクトルに文字列を追加したいと考えていpush_back()
ます。これは私が試したものです:
しかし、私は常にセグフォルトを取得します (cout を使用して push_back 行に絞り込みました)。これは間違った方法ですか?
c++ - ポインタ付きのc++ベクトルpush_back
私は次の問題を解決することに頭を悩ませようとしています。オブジェクトへのconst参照を受け入れる次の関数があります。私がやりたいのは、ストレージを提供することです。オブジェクトコンポーネントへのポインタが参照しています。ただし、storage.push_back()を呼び出すと、オブジェクトコンポーネントが参照している変更が変更されます(メンバーデータが破損します)
オブジェクトをまったく変更せずに、参照している同じオブジェクトコンポーネントへのポインタを格納しようとしています。
上記のコードが、オブジェクトコンポーネントが参照しているものをまったく変更するのはなぜですか?
編集:わかりました。定数ポインターを含むようにベクトルを編集しました。
これは、何が起こっているのかを正確に示すスクリーンショットです。ここで呼び出し先で、参照によって渡される引数を調べると、input_componentメンバーが破損していないことがわかります。
画像へのURL:http: //i.imgur.com/lKpRm.png
ただし、2番目の画像では、上記の方法にステップインした直後に次のようになります。
画像へのURL:http: //i.imgur.com/x0Vdn.png
const参照を渡すと、関数の内部と外部でオブジェクトが異なる方法はないはずだという印象を受けました。const参照によって渡された場合、オブジェクトが変更される理由がわかりません。
c++ - 2次元ベクトルC ++の処理
C++ で構造の 2 次元ベクトルを設定してアクセスする必要があります。私の構造は次のように定義されています。
ベクトルを次のように定義しました。
ここで、n_2 のいくつかの要素を作成する必要があります。これは再びベクトルになり、それらの単一のメンバーにアクセスします。どうすればそれを達成できますか?それは私がこれまでに持っているコードです:
これは機能しません。
c++ - 1D ベクトルを行として 2D ベクトル配列に push_back
「行」または 1D ベクトルの値を定義してから、その行を 2D ベクトルに push_back しようとしています。エラーをスローしないだけでなく、機能していないように見えるいくつかの異なることを試しました。以下のコード: