diff --git a/src/mfast/ext_ref.h b/src/mfast/ext_ref.h index c9a569f..ee75577 100644 --- a/src/mfast/ext_ref.h +++ b/src/mfast/ext_ref.h @@ -101,7 +101,7 @@ class ext_cref : public ext_ref_properties { explicit ext_cref(const field_cref &base) : base_(base) {} explicit ext_cref(const aggregate_cref &base) : base_(base) {} cref_type get() const { return base_; } - bool present() const { return !this->optional() || base_.present(); } + bool present() const { return !static_cast(this)->optional() || base_.present(); } private: cref_type base_; @@ -128,7 +128,7 @@ class ext_cref, Properties> { exponent_type get_exponent() const { return exponent_type(base_.get_exponent()); } - bool present() const { return !this->optional() || base_.present(); } + bool present() const { return !static_cast(this)->optional() || base_.present(); } private: decimal_cref base_; @@ -193,7 +193,7 @@ class ext_cref explicit ext_cref(const field_cref &other) : base_(other) {} cref_type get() const { return cref_type(aggregate_cref(base_)[0]); } - bool present() const { return !this->optional() || base_.present(); } + bool present() const { return !static_cast(this)->optional() || base_.present(); } private: field_cref base_;