タイトルがあまり明白でない場合は申し訳ありませんが、私はそれをよりよく説明しようとします。私はC++にあまり慣れていないので、openFrameworksを初めて使用しています。私はおそらく非常に簡単なことをしようとしています。少なくとも他の言語ではそうですが、私はそれをすることができません:(オブジェクトの内部にリストを埋め込んでそれに後でアクセスする
私はクラスのビデオを持っていて、それにオブジェクトがありますlist<ofImage> keyFrames;
いくつかの方法は次のようにそれと対話します。私はいくつかのビデオオブジェクトを持っていると私は、各オブジェクトのリストを埋めるためにaddKeyFrame(ofImage img)
を使用する機能を持っている他のクラスで
void addKeyFrame(ofImage img) {
if(keyFrames.size() == 0) {
keyFrames.push_front(img);
}
else {
keyFrames.push_back(img);
}
}
list<ofImage> * getKeyFrames() {
list<ofImage> *list = &keyFrames;
return list;
}
void clearKeyFrames() {
keyFrames.clear();
}
その関数の最後に、私は、印刷する場合リストのサイズが0より大きい。
内部draw()
関数それぞれを反復するVideoオブジェクトと私はそれぞれの画像をkeyFrameリストの中に描画しようとしますが、リストは常に空で、画像で埋めました...私はgetKeyFrames()
関数を使ってリストへのポインタを返します。別の関数でオブジェクトを追加しただけで、サイズがゼロより大きいことを確認したらどうすれば空にすることができますか?そして、私がアプリケーションをデバッグしようとすると、私はもっとロルを失ったように感じます。
これ以上情報が必要な場合、私が間違っていることが分かっている場合は教えてください。ありがとう!
このコードにはコードが必要ですが、この部分に問題はありません。いくつかのランダムな事柄:参照を返すことができるときにポインタを返すのはなぜですか? 'push_back'だけできるのなら、リストが空であるかどうかチェックするのはなぜですか? 'addKeyFrame'は、値の代わりに参照によって' img'を取るべきです。 – pmr