問題タブ [qvector]

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

c++ - QFile クラスのネストに関する問題

次のような構造体を定義すると問題が発生します

次に、これを次のように QVector コンテナーに入れます。

その後、ベクター メンバー フィールドのいくつかのメソッドを呼び出します。

次のコンパイル エラーが発生します。

QTextStreamに関しても同じです。

それで、私は何が欠けていますか?

よろしくお願いします。

アップデート

@Ashot が提供する解決策は、TInputData オブジェクトを手動で作成することです。ただし、メモリ管理の問題がいくつか追加されます。回避策は、スマート ポインターを使用することです。

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

c++ - QVector を引数として QRunnable に渡す

Qt を使用して C++ アプリケーションを構築し、3000Hz で動作するラインスキャン カメラからデータを取得しています。別の質問 ( C++ を使用して 3000Hz でラインスキャン カメラとインターフェースし、データを処理 / 表示する) で、これを攻撃するための戦略を計画する際に素晴らしいアドバイスを受け取りました。私は今、特定の問題を抱えています。免責事項を繰り返します。私はエンジニアであり、プログラマーではありません...しかし、私は学びながら学んでいます。

を使用して、QThreadデータを に継続的に取得してQVectorいます。メインQVectorの GUI スレッドに を発行します。メインの GUI スレッドは を作成し、QRunnableそれを に渡してQThreadPoolデータ ブロックを処理します。このようにして、データのブロックを取得し、それらのブロックを「リアルタイム」で処理して応答するタスクを作成する予定です。すべての部品を機能させてコンパイルするために、最初は単一の整数値をペイロードとして使用していました。でランダムなintを継続的に生成QThreadし、GUI スレッドに出力し、 を作成し、スレッド プールでintQRunnableを操作できます。私はそれを誇りに思っています。ただし、 . で動作させることはできません。次のようないくつかのコンパイル エラーが発生します。QVector

**編集: 上記のエラーは明らか#include <QMetaType>に main.cpp の欠落によるものです。これを、以下のすべてのコメント/回答の情報と組み合わせて、コンパイルするコードを取得しました。**

私はここで本当に深いところを泳いでいるので、エラーメッセージを解読して別のことを試してみるコードをやみくもにいじることに頼っています。プロジェクトを構成する個々のファイルはすべて次のとおりです。 QVector ペイロードを実装しようとしているすべてのコードの上に、int型で動作するコードのビットをコメントアウトしたことに注意してください。「// は int 型で動作します!」を探します。 これが長い投稿であることはわかっていますが、QVector の問題がどこから始まるかわからないため、MWE をさらに単純化して問題を説明する方法がわかりません...したがって、すべてのファイルです。私が本当にこれを機能させようとしたことを強調してくれることを願っています.

main.cpp

appwidget.h

appwidget.cpp

取得.h

取得.cpp

アルゴリズム.h

アルゴリズム.cpp

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

qt - QList から QVector を作成する

QList と QVector があります。Qlist にデータを入力してから、QVector にコピーしようとしました。Ovector にはfromList()メソッドがあります。しかし、うまくいきません。

私のコード:

このコードの後 vectorA は空を返します

LinuxでQt 4.8.5を使用しています

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

c++ - QVector ポインターを引数として渡す

1) QVector のポインタを関数に渡してから、それを処理したいと考えています。私はこれを試しました:

ただし、コンパイラは 、行の「演算子 = に一致しません」*(vector+i) = min;と表示します。QVector でこのようなアクションを実行する最良の方法は何でしょうか?

2) 関数は、たとえば vector(a:b:c) のように、matlab : 演算子が機能する方法で、プロットのベクトルに値を線形に分配することになっています。Qtでそのようなことを実行する最も簡単で最良の方法は何ですか?

編集:

ここからの助けを借りて、最初の問題は解決されます。:)

メソッド自体も改善しました。上記のような複数の加算の代わりに線形補間を使用することで、精度を大幅に向上させることができます。多重加算では誤差が蓄積されますが、これは線形補間によって大部分除去されます。

ちなみに最初の関数のif文は不要だったので、倍加法でもちょっと手を加えるだけで消すことができました。

これにはエンチャントされたループを使用することを検討しましたが、より実用的でしょうか? たとえば、 foreach ループでは、補間のためにいくつかの変数をインクリメントする必要がありますか? また、最初の要素をスキップするための条件を作成しますか?

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

c++ - QVector メモリ管理

私はこの非常に単純なダミープログラムを持っています

levenshteindb.h :

levenshteindb.cpp :

levenshteindbnode.h :

levenshteindbnode.cpp :

main.cpp :

それがクラッシュし、(プログラム自体によって割り当てられたメモリと比較して)巨大なメモリリークが発生しているように見えますが、何が問題なのか本当に理解できません..qt 5.2を使用しています