ICU-21215 Add default constructor to FormattedNumberRange
diff --git a/icu4c/source/i18n/unicode/numberrangeformatter.h b/icu4c/source/i18n/unicode/numberrangeformatter.h
index 091fc66..00cfa23 100644
--- a/icu4c/source/i18n/unicode/numberrangeformatter.h
+++ b/icu4c/source/i18n/unicode/numberrangeformatter.h
@@ -641,6 +641,15 @@
*/
UNumberRangeIdentityResult getIdentityResult(UErrorCode& status) const;
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Default constructor; makes an empty FormattedNumberRange.
+ * @draft ICU 70
+ */
+ FormattedNumberRange()
+ : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
+#endif
+
/**
* Copying not supported; use move constructor instead.
*/
diff --git a/icu4c/source/test/intltest/numbertest_range.cpp b/icu4c/source/test/intltest/numbertest_range.cpp
index fcf2a0e..6f622a3 100644
--- a/icu4c/source/test/intltest/numbertest_range.cpp
+++ b/icu4c/source/test/intltest/numbertest_range.cpp
@@ -827,6 +827,9 @@
assertEquals("FormattedNumberRange move constructor", u"1,00–5,00 $US", result.toString(status));
result = l1.formatFormattableRange(3, 6, status);
assertEquals("FormattedNumberRange move assignment", u"3,00–6,00 $US", result.toString(status));
+ FormattedNumberRange fnrdefault;
+ fnrdefault.toString(status);
+ status.expectErrorAndReset(U_INVALID_STATE_ERROR);
}
void NumberRangeFormatterTest::toObject() {