私は宿題のためのいくつかのコードを完成しようとしています。ベクトルを反復する
これは(他のものの中でも)ベクトルに対して反復することを含み、私は奇妙な結果を得ています。
main.cppに
#include "tp1.hpp"
int main(int argc, char** argv) {
std::vector<uint8_t> signal { 1,2,0,0,1,2,1,0,2,1,2,1,0,0,0,1,2,1 };
std::vector<LZ77Code> code = lz77_encode(signal, 18, 9);
return 0;
}
tp1.hpp
inline std::vector<LZ77Code> lz77_encode(const std::vector<uint8_t>& vSignal, size_t N, size_t n1) {
std::vector<LZ77Code> vCode;
std::vector<uint8_t>::const_iterator vSignalIt; //Iterator for the vector in the parameters
vSignalIt = vSignal.begin();
while (vSignalIt != vSignal.end())
{
std::cout << *vSignalIt << std::endl;
vSignalIt++;
}
return vCode;
}
私は、これは結果として、コンソールに印刷された取得しています:
☺
そうでもない私が意図したもの、ご想像の通り。私はC++を扱ってからしばらく経っているので、コードを最小限に短縮しました。私は些細な誤りを犯しているように感じます。詳細が必要な場合はお知らせください。
ありがとうございました!
あなたが得ているものは得られません。 'vSignalIt'は決してインクリメントされないので、無限ループが必要です。 – vu1p3n0x
それは、インクリメントする部分を忘れてしまったことです。今編集中。 –