我正在尝试完成一些家庭作业的代码。
它涉及(除其他事项外)迭代向量并且我得到一个奇怪的结果。
的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 ++,我觉得我犯了一个小错误。如果您需要更多详细信息,请与我们联系。
谢谢你的时间!
答案 0 :(得分:3)
当您将cout
写入char
时,会将其视为int
。您需要转换为std::cout << static_cast<int>(*vSignalIt) << std::endl;
。
<domain_home>/servers/AdminServer/data/ldap