diff --git a/cpp/QrCode.cpp b/cpp/QrCode.cpp index 4630752..faff7ae 100644 --- a/cpp/QrCode.cpp +++ b/cpp/QrCode.cpp @@ -96,8 +96,8 @@ QrCode QrCode::encodeSegments(const vector &segs, Ecc ecl, // Concatenate all segments to create the data bit string BitBuffer bb; for (const QrSegment &seg : segs) { - bb.appendBits(seg.getMode().getModeBits(), 4); - bb.appendBits(seg.getNumChars(), seg.getMode().numCharCountBits(version)); + bb.appendBits(static_cast(seg.getMode().getModeBits()), 4); + bb.appendBits(static_cast(seg.getNumChars()), seg.getMode().numCharCountBits(version)); bb.insert(bb.end(), seg.getData().begin(), seg.getData().end()); } if (bb.size() != static_cast(dataUsedBits)) diff --git a/cpp/QrCodeGeneratorDemo.cpp b/cpp/QrCodeGeneratorDemo.cpp index 1286433..d8ee821 100644 --- a/cpp/QrCodeGeneratorDemo.cpp +++ b/cpp/QrCodeGeneratorDemo.cpp @@ -153,7 +153,7 @@ static void doSegmentDemo() { }; qrcodegen::BitBuffer bb; for (int c : kanjiChars) - bb.appendBits(c, 13); + bb.appendBits(static_cast(c), 13); const QrCode qr5 = QrCode::encodeSegments( {QrSegment(QrSegment::Mode::KANJI, kanjiChars.size(), bb)}, QrCode::Ecc::LOW); diff --git a/cpp/QrSegment.cpp b/cpp/QrSegment.cpp index 64d77f7..a12f273 100644 --- a/cpp/QrSegment.cpp +++ b/cpp/QrSegment.cpp @@ -81,13 +81,13 @@ QrSegment QrSegment::makeNumeric(const char *digits) { accumData = accumData * 10 + (c - '0'); accumCount++; if (accumCount == 3) { - bb.appendBits(accumData, 10); + bb.appendBits(static_cast(accumData), 10); accumData = 0; accumCount = 0; } } if (accumCount > 0) // 1 or 2 digits remaining - bb.appendBits(accumData, accumCount * 3 + 1); + bb.appendBits(static_cast(accumData), accumCount * 3 + 1); return QrSegment(Mode::NUMERIC, charCount, std::move(bb)); } @@ -104,13 +104,13 @@ QrSegment QrSegment::makeAlphanumeric(const char *text) { accumData = accumData * 45 + (temp - ALPHANUMERIC_CHARSET); accumCount++; if (accumCount == 2) { - bb.appendBits(accumData, 11); + bb.appendBits(static_cast(accumData), 11); accumData = 0; accumCount = 0; } } if (accumCount > 0) // 1 character remaining - bb.appendBits(accumData, 6); + bb.appendBits(static_cast(accumData), 6); return QrSegment(Mode::ALPHANUMERIC, charCount, std::move(bb)); } @@ -138,13 +138,13 @@ QrSegment QrSegment::makeEci(long assignVal) { if (assignVal < 0) throw std::domain_error("ECI assignment value out of range"); else if (assignVal < (1 << 7)) - bb.appendBits(assignVal, 8); + bb.appendBits(static_cast(assignVal), 8); else if (assignVal < (1 << 14)) { bb.appendBits(2, 2); - bb.appendBits(assignVal, 14); + bb.appendBits(static_cast(assignVal), 14); } else if (assignVal < 1000000L) { bb.appendBits(6, 3); - bb.appendBits(assignVal, 21); + bb.appendBits(static_cast(assignVal), 21); } else throw std::domain_error("ECI assignment value out of range"); return QrSegment(Mode::ECI, 0, std::move(bb));