diff --git a/include/vrv/fraction.h b/include/vrv/fraction.h index d26430e92b..c9fcb9b3f2 100644 --- a/include/vrv/fraction.h +++ b/include/vrv/fraction.h @@ -20,7 +20,8 @@ class Fraction { public: // Constructors - make them explicit to avoid type conversion - explicit Fraction(int num = 0, int denom = 1); + explicit Fraction(int num = 0) : m_numerator(num), m_denominator(1) {} + explicit Fraction(int num, int denom); explicit Fraction(data_DURATION duration); // Enable implicit conversion constructor for `int` diff --git a/src/fraction.cpp b/src/fraction.cpp index 9fd59c0b36..e5c270b96d 100644 --- a/src/fraction.cpp +++ b/src/fraction.cpp @@ -29,7 +29,7 @@ Fraction::Fraction(int num, int denom) denom = 1; } m_denominator = denom; - Reduce(); + this->Reduce(); } Fraction::Fraction(data_DURATION duration) @@ -39,7 +39,7 @@ Fraction::Fraction(data_DURATION duration) int den = pow(2, (duration + 1)); m_numerator = 8; m_denominator = den; - Reduce(); + this->Reduce(); } Fraction Fraction::operator+(const Fraction &other) const