問題タブ [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.
c++ - QFile クラスのネストに関する問題
次のような構造体を定義すると問題が発生します
次に、これを次のように QVector コンテナーに入れます。
その後、ベクター メンバー フィールドのいくつかのメソッドを呼び出します。
次のコンパイル エラーが発生します。
QTextStreamに関しても同じです。
それで、私は何が欠けていますか?
よろしくお願いします。
アップデート
@Ashot が提供する解決策は、TInputData オブジェクトを手動で作成することです。ただし、メモリ管理の問題がいくつか追加されます。回避策は、スマート ポインターを使用することです。
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
qt - QList から QVector を作成する
QList と QVector があります。Qlist にデータを入力してから、QVector にコピーしようとしました。Ovector にはfromList()メソッドがあります。しかし、うまくいきません。
私のコード:
このコードの後 vectorA は空を返します
LinuxでQt 4.8.5を使用しています
c++ - QVector ポインターを引数として渡す
1) QVector のポインタを関数に渡してから、それを処理したいと考えています。私はこれを試しました:
ただし、コンパイラは 、行の「演算子 = に一致しません」*(vector+i) = min;
と表示します。QVector でこのようなアクションを実行する最良の方法は何でしょうか?
2) 関数は、たとえば vector(a:b:c) のように、matlab : 演算子が機能する方法で、プロットのベクトルに値を線形に分配することになっています。Qtでそのようなことを実行する最も簡単で最良の方法は何ですか?
編集:
ここからの助けを借りて、最初の問題は解決されます。:)
メソッド自体も改善しました。上記のような複数の加算の代わりに線形補間を使用することで、精度を大幅に向上させることができます。多重加算では誤差が蓄積されますが、これは線形補間によって大部分除去されます。
ちなみに最初の関数のif文は不要だったので、倍加法でもちょっと手を加えるだけで消すことができました。
これにはエンチャントされたループを使用することを検討しましたが、より実用的でしょうか? たとえば、 foreach ループでは、補間のためにいくつかの変数をインクリメントする必要がありますか? また、最初の要素をスキップするための条件を作成しますか?
c++ - QVector メモリ管理
私はこの非常に単純なダミープログラムを持っています
levenshteindb.h :
levenshteindb.cpp :
levenshteindbnode.h :
levenshteindbnode.cpp :
main.cpp :
それがクラッシュし、(プログラム自体によって割り当てられたメモリと比較して)巨大なメモリリークが発生しているように見えますが、何が問題なのか本当に理解できません..qt 5.2を使用しています