diff --git a/ebml/EbmlBinary.h b/ebml/EbmlBinary.h index 7d54fbff..9cc380f5 100644 --- a/ebml/EbmlBinary.h +++ b/ebml/EbmlBinary.h @@ -80,6 +80,7 @@ class EBML_DLL_API EbmlBinary : public EbmlElement { SetValueIsSet(); } + using EbmlElement::operator const EbmlId &; operator const binary &() const; bool IsDefaultValue() const override { diff --git a/ebml/EbmlFloat.h b/ebml/EbmlFloat.h index 3c545584..26ac5f4b 100644 --- a/ebml/EbmlFloat.h +++ b/ebml/EbmlFloat.h @@ -78,6 +78,7 @@ class EBML_DLL_API EbmlFloat : public EbmlElement { bool IsSmallerThan(const EbmlElement *Cmp) const override; + using EbmlElement::operator const EbmlId &; operator float() const; operator double() const; diff --git a/ebml/EbmlSInteger.h b/ebml/EbmlSInteger.h index caa4361c..df2d1b00 100644 --- a/ebml/EbmlSInteger.h +++ b/ebml/EbmlSInteger.h @@ -70,6 +70,7 @@ class EBML_DLL_API EbmlSInteger : public EbmlElement { bool IsSmallerThan(const EbmlElement *Cmp) const override; + using EbmlElement::operator const EbmlId &; explicit operator std::int8_t() const; explicit operator std::int16_t() const; explicit operator std::int32_t() const; diff --git a/ebml/EbmlString.h b/ebml/EbmlString.h index 514c70ff..831e9fcd 100644 --- a/ebml/EbmlString.h +++ b/ebml/EbmlString.h @@ -58,6 +58,7 @@ class EBML_DLL_API EbmlString : public EbmlElement { filepos_t UpdateSize(bool bWithDefault = false, bool bForceRender = false) override; EbmlString & operator=(const std::string &); + using EbmlElement::operator const EbmlId &; explicit operator const std::string &() const; EbmlString &SetValue(std::string const &NewValue); diff --git a/ebml/EbmlUInteger.h b/ebml/EbmlUInteger.h index 89ca8e5f..cd01d571 100644 --- a/ebml/EbmlUInteger.h +++ b/ebml/EbmlUInteger.h @@ -68,6 +68,7 @@ class EBML_DLL_API EbmlUInteger : public EbmlElement { bool IsSmallerThan(const EbmlElement *Cmp) const override; + using EbmlElement::operator const EbmlId &; explicit operator std::uint8_t() const; explicit operator std::uint16_t() const; explicit operator std::uint32_t() const; diff --git a/ebml/EbmlUnicodeString.h b/ebml/EbmlUnicodeString.h index afc91c9a..96a9c4e3 100644 --- a/ebml/EbmlUnicodeString.h +++ b/ebml/EbmlUnicodeString.h @@ -108,6 +108,7 @@ class EBML_DLL_API EbmlUnicodeString : public EbmlElement { filepos_t UpdateSize(bool bWithDefault = false, bool bForceRender = false) override; EbmlUnicodeString & operator=(const UTFstring &); ///< platform dependant code + using EbmlElement::operator const EbmlId &; explicit operator const UTFstring &() const; EbmlUnicodeString &SetValue(UTFstring const &NewValue); diff --git a/src/EbmlElement.cpp b/src/EbmlElement.cpp index 362eb4c7..446d6ad8 100644 --- a/src/EbmlElement.cpp +++ b/src/EbmlElement.cpp @@ -92,7 +92,7 @@ int CodedSizeLength(std::uint64_t Length, unsigned int SizeLength, bool bSizeIsF */ int CodedSizeLengthSigned(std::int64_t Length, unsigned int SizeLength) { - int CodedSize; + unsigned int CodedSize; // prepare the head of the size (000...01xxxxxx) // optimal size if (Length > -64 && Length < 64) // 2^6