diff --git a/docs/userguide/locale/resources.md b/docs/userguide/locale/resources.md
index 39ebea61875..4a2ef49cf5c 100644
--- a/docs/userguide/locale/resources.md
+++ b/docs/userguide/locale/resources.md
@@ -335,7 +335,7 @@ accessed using indexes and by iteration.
 In order to be able to distinguish between resources, one needs to know the type
 of the resource at hand. To find this out, use the
 `UResType ures_getType(UResourceBundle* resourceBundle)` API, or the C++ analog
-`UResType getType(void)`. The `UResType` is an enumeration defined in the
+`UResType getType()`. The `UResType` is an enumeration defined in the
 [unicode/ures.h](https://github.com/unicode-org/icu/blob/main/icu4c/source/common/unicode/ures.h)
 header file.
 
@@ -443,8 +443,8 @@ ures_close(currentZone);
 ...
 ```
 
-C++ provides analogous APIs: `ResourceBundle getNext(UErrorCode& status)`, `void resetIterator(void)`
- and `UBool hasNext(void)`.
+C++ provides analogous APIs: `ResourceBundle getNext(UErrorCode& status)`, `void resetIterator()`
+ and `UBool hasNext()`.
 
 #### Accessing Data in the Simple Resources
 
@@ -540,14 +540,14 @@ following tables.
 | Language | API                                                     |
 | -------- | ------------------------------------------------------- |
 | C        | `int32_t ures_getSize(UResourceBundle* resourceBundle)` |
-| C++      | `int32_t getSize(void) const`                           |
+| C++      | `int32_t getSize() const`                               |
 
 Gets the number of items in a resource. Simple resources always return size 1.
 
 | Language | API                                                      |
 | -------- | -------------------------------------------------------- |
 | C        | `UResType ures_getType(UResourceBundle* resourceBundle)` |
-| C++      | `UResType getType(void)`                                 |
+| C++      | `UResType getType()`                                     |
 
 Gets the type of the resource. For a list of resource types, see:
 [unicode/ures.h](https://github.com/unicode-org/icu/blob/main/icu4c/source/common/unicode/ures.h)
@@ -555,7 +555,7 @@ Gets the type of the resource. For a list of resource types, see:
 | Language | API                                              |
 | -------- | ------------------------------------------------ |
 | C        | `const char* ures_getKey(UResourceBundle* resB)` |
-| C++      | `const char* getKey(void)`                       |
+| C++      | `const char* getKey()`                           |
 
 Gets the key of a named resource or `NULL` if this resource is a member of an
 array.
@@ -570,7 +570,7 @@ Fills out the version structure for this resource.
 | Language | API                                                                                     |
 | -------- | --------------------------------------------------------------------------------------- |
 | C        | `const char* ures_getLocale(const UResourceBundle* resourceBundle, UErrorCode* status)` |
-| C++      | `const Locale& getLocale(void) const`                                                   |
+| C++      | `const Locale& getLocale() const`                                                       |
 
 Returns the locale this resource is from. This API is going to change, so stay
 tuned.
diff --git a/icu4c/source/common/brkiter.cpp b/icu4c/source/common/brkiter.cpp
index 9ef2d063ff4..41e4e0dff57 100644
--- a/icu4c/source/common/brkiter.cpp
+++ b/icu4c/source/common/brkiter.cpp
@@ -288,7 +288,7 @@ static icu::ICULocaleService* gService = nullptr;
  * Release all static memory held by breakiterator.
  */
 U_CDECL_BEGIN
-static UBool U_CALLCONV breakiterator_cleanup(void) {
+static UBool U_CALLCONV breakiterator_cleanup() {
 #if !UCONFIG_NO_SERVICE
     if (gService) {
         delete gService;
@@ -302,13 +302,13 @@ U_CDECL_END
 U_NAMESPACE_BEGIN
 
 static void U_CALLCONV 
-initService(void) {
+initService() {
     gService = new ICUBreakIteratorService();
     ucln_common_registerCleanup(UCLN_COMMON_BREAKITERATOR, breakiterator_cleanup);
 }
 
 static ICULocaleService*
-getService(void)
+getService()
 {
     umtx_initOnce(gInitOnceBrkiter, &initService);
     return gService;
@@ -318,7 +318,7 @@ getService(void)
 // -------------------------------------
 
 static inline UBool
-hasService(void)
+hasService()
 {
     return !gInitOnceBrkiter.isReset() && getService() != nullptr;
 }
@@ -353,7 +353,7 @@ BreakIterator::unregister(URegistryKey key, UErrorCode& status)
 // -------------------------------------
 
 StringEnumeration* U_EXPORT2
-BreakIterator::getAvailableLocales(void)
+BreakIterator::getAvailableLocales()
 {
     ICULocaleService *service = getService();
     if (service == nullptr) {
diff --git a/icu4c/source/common/chariter.cpp b/icu4c/source/common/chariter.cpp
index 4733a297a82..16f3b1e14d0 100644
--- a/icu4c/source/common/chariter.cpp
+++ b/icu4c/source/common/chariter.cpp
@@ -86,13 +86,13 @@ CharacterIterator::operator=(const CharacterIterator &that) {
 // implementing first[32]PostInc() directly in a subclass should be faster
 // but these implementations make subclassing a little easier
 char16_t
-CharacterIterator::firstPostInc(void) {
+CharacterIterator::firstPostInc() {
     setToStart();
     return nextPostInc();
 }
 
 UChar32
-CharacterIterator::first32PostInc(void) {
+CharacterIterator::first32PostInc() {
     setToStart();
     return next32PostInc();
 }
diff --git a/icu4c/source/common/cmemory.cpp b/icu4c/source/common/cmemory.cpp
index 57e9c48be6d..e59d4b0efe3 100644
--- a/icu4c/source/common/cmemory.cpp
+++ b/icu4c/source/common/cmemory.cpp
@@ -129,7 +129,7 @@ u_setMemoryFunctions(const void *context, UMemAllocFn *a, UMemReallocFn *r, UMem
 }
 
 
-U_CFUNC UBool cmemory_cleanup(void) {
+U_CFUNC UBool cmemory_cleanup() {
     pContext   = nullptr;
     pAlloc     = nullptr;
     pRealloc   = nullptr;
diff --git a/icu4c/source/common/filteredbrk.cpp b/icu4c/source/common/filteredbrk.cpp
index 9e7358c667d..a705b037c47 100644
--- a/icu4c/source/common/filteredbrk.cpp
+++ b/icu4c/source/common/filteredbrk.cpp
@@ -191,7 +191,7 @@ public:
     return clone();
   }
   virtual SimpleFilteredSentenceBreakIterator* clone() const override { return new SimpleFilteredSentenceBreakIterator(*this); }
-  virtual UClassID getDynamicClassID(void) const override { return nullptr; }
+  virtual UClassID getDynamicClassID() const override { return nullptr; }
   virtual bool operator==(const BreakIterator& o) const override { if(this==&o) return true; return false; }
 
   /* -- text modifying -- */
@@ -202,20 +202,20 @@ public:
 
   /* -- other functions that are just delegated -- */
   virtual UText *getUText(UText *fillIn, UErrorCode &status) const override { return fDelegate->getUText(fillIn,status); }
-  virtual CharacterIterator& getText(void) const override { return fDelegate->getText(); }
+  virtual CharacterIterator& getText() const override { return fDelegate->getText(); }
 
   /* -- ITERATION -- */
-  virtual int32_t first(void) override;
+  virtual int32_t first() override;
   virtual int32_t preceding(int32_t offset) override;
-  virtual int32_t previous(void) override;
+  virtual int32_t previous() override;
   virtual UBool isBoundary(int32_t offset) override;
-  virtual int32_t current(void) const override { return fDelegate->current(); } // we keep the delegate current, so this should be correct.
+  virtual int32_t current() const override { return fDelegate->current(); } // we keep the delegate current, so this should be correct.
 
-  virtual int32_t next(void) override;
+  virtual int32_t next() override;
 
   virtual int32_t next(int32_t n) override;
   virtual int32_t following(int32_t offset) override;
-  virtual int32_t last(void) override;
+  virtual int32_t last() override;
 
 private:
     /**
@@ -428,7 +428,7 @@ SimpleFilteredSentenceBreakIterator::next() {
 }
 
 int32_t
-SimpleFilteredSentenceBreakIterator::first(void) {
+SimpleFilteredSentenceBreakIterator::first() {
   // Don't suppress a break opportunity at the beginning of text.
   return fDelegate->first();
 }
@@ -439,7 +439,7 @@ SimpleFilteredSentenceBreakIterator::preceding(int32_t offset) {
 }
 
 int32_t
-SimpleFilteredSentenceBreakIterator::previous(void) {
+SimpleFilteredSentenceBreakIterator::previous() {
   return internalPrev(fDelegate->previous());
 }
 
@@ -473,7 +473,7 @@ SimpleFilteredSentenceBreakIterator::following(int32_t offset) {
 }
 
 int32_t
-SimpleFilteredSentenceBreakIterator::last(void) {
+SimpleFilteredSentenceBreakIterator::last() {
   // Don't suppress a break opportunity at the end of text.
   return fDelegate->last();
 }
diff --git a/icu4c/source/common/hash.h b/icu4c/source/common/hash.h
index 01471a8f29f..bc103ee72ca 100644
--- a/icu4c/source/common/hash.h
+++ b/icu4c/source/common/hash.h
@@ -97,7 +97,7 @@ public:
 
     inline int32_t removei(const UnicodeString& key);
 
-    inline void removeAll(void);
+    inline void removeAll();
 
     inline UBool containsKey(const UnicodeString& key) const;
 
@@ -246,7 +246,7 @@ inline const UHashElement* Hashtable::nextElement(int32_t& pos) const {
     return uhash_nextElement(hash, &pos);
 }
 
-inline void Hashtable::removeAll(void) {
+inline void Hashtable::removeAll() {
     uhash_removeAll(hash);
 }
 
diff --git a/icu4c/source/common/icuplug.cpp b/icu4c/source/common/icuplug.cpp
index bde83f7e25c..7aa70a506b0 100644
--- a/icu4c/source/common/icuplug.cpp
+++ b/icu4c/source/common/icuplug.cpp
@@ -632,7 +632,7 @@ U_CAPI UPlugLevel U_EXPORT2 uplug_getCurrentLevel() {
   return gCurrentLevel;
 }
 
-static UBool U_CALLCONV uplug_cleanup(void)
+static UBool U_CALLCONV uplug_cleanup()
 {
   int32_t i;
     
diff --git a/icu4c/source/common/locavailable.cpp b/icu4c/source/common/locavailable.cpp
index f553378e101..0ea20939888 100644
--- a/icu4c/source/common/locavailable.cpp
+++ b/icu4c/source/common/locavailable.cpp
@@ -43,7 +43,7 @@ U_NAMESPACE_END
 
 U_CDECL_BEGIN
 
-static UBool U_CALLCONV locale_available_cleanup(void)
+static UBool U_CALLCONV locale_available_cleanup()
 {
     U_NAMESPACE_USE
 
@@ -196,7 +196,7 @@ class AvailableLocalesStringEnumeration : public StringEnumeration {
 
 /* ### Get available **************************************************/
 
-static UBool U_CALLCONV uloc_cleanup(void) {
+static UBool U_CALLCONV uloc_cleanup() {
     for (int32_t i = 0; i < UPRV_LENGTHOF(gAvailableLocaleNames); i++) {
         uprv_free(gAvailableLocaleNames[i]);
         gAvailableLocaleNames[i] = nullptr;
diff --git a/icu4c/source/common/locdspnm.cpp b/icu4c/source/common/locdspnm.cpp
index 3ba54111196..73fe531c543 100644
--- a/icu4c/source/common/locdspnm.cpp
+++ b/icu4c/source/common/locdspnm.cpp
@@ -347,7 +347,7 @@ private:
     UnicodeString& keyDisplayName(const char* key, UnicodeString& result, UBool skipAdjust) const;
     UnicodeString& keyValueDisplayName(const char* key, const char* value,
                                         UnicodeString& result, UBool skipAdjust) const;
-    void initialize(void);
+    void initialize();
 
     struct CapitalizationContextSink;
 };
@@ -447,7 +447,7 @@ struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink {
 LocaleDisplayNamesImpl::CapitalizationContextSink::~CapitalizationContextSink() {}
 
 void
-LocaleDisplayNamesImpl::initialize(void) {
+LocaleDisplayNamesImpl::initialize() {
     LocaleDisplayNamesImpl *nonConstThis = (LocaleDisplayNamesImpl *)this;
     nonConstThis->locale = langData.getLocale() == Locale::getRoot()
         ? regionData.getLocale()
diff --git a/icu4c/source/common/locid.cpp b/icu4c/source/common/locid.cpp
index bb9699369f3..70a794ae076 100644
--- a/icu4c/source/common/locid.cpp
+++ b/icu4c/source/common/locid.cpp
@@ -58,7 +58,7 @@
 #include "uvector.h"
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV locale_cleanup(void);
+static UBool U_CALLCONV locale_cleanup();
 U_CDECL_END
 
 U_NAMESPACE_BEGIN
@@ -115,7 +115,7 @@ deleteLocale(void *obj) {
     delete (icu::Locale *) obj;
 }
 
-static UBool U_CALLCONV locale_cleanup(void)
+static UBool U_CALLCONV locale_cleanup()
 {
     U_NAMESPACE_USE
 
@@ -235,7 +235,7 @@ locale_set_default(const char *id)
 /* end */
 
 U_CFUNC const char *
-locale_get_default(void)
+locale_get_default()
 {
     U_NAMESPACE_USE
     return Locale::getDefault().getName();
@@ -2244,134 +2244,134 @@ void Locale::setFromPOSIXID(const char *posixID)
 }
 
 const Locale & U_EXPORT2
-Locale::getRoot(void)
+Locale::getRoot()
 {
     return getLocale(eROOT);
 }
 
 const Locale & U_EXPORT2
-Locale::getEnglish(void)
+Locale::getEnglish()
 {
     return getLocale(eENGLISH);
 }
 
 const Locale & U_EXPORT2
-Locale::getFrench(void)
+Locale::getFrench()
 {
     return getLocale(eFRENCH);
 }
 
 const Locale & U_EXPORT2
-Locale::getGerman(void)
+Locale::getGerman()
 {
     return getLocale(eGERMAN);
 }
 
 const Locale & U_EXPORT2
-Locale::getItalian(void)
+Locale::getItalian()
 {
     return getLocale(eITALIAN);
 }
 
 const Locale & U_EXPORT2
-Locale::getJapanese(void)
+Locale::getJapanese()
 {
     return getLocale(eJAPANESE);
 }
 
 const Locale & U_EXPORT2
-Locale::getKorean(void)
+Locale::getKorean()
 {
     return getLocale(eKOREAN);
 }
 
 const Locale & U_EXPORT2
-Locale::getChinese(void)
+Locale::getChinese()
 {
     return getLocale(eCHINESE);
 }
 
 const Locale & U_EXPORT2
-Locale::getSimplifiedChinese(void)
+Locale::getSimplifiedChinese()
 {
     return getLocale(eCHINA);
 }
 
 const Locale & U_EXPORT2
-Locale::getTraditionalChinese(void)
+Locale::getTraditionalChinese()
 {
     return getLocale(eTAIWAN);
 }
 
 
 const Locale & U_EXPORT2
-Locale::getFrance(void)
+Locale::getFrance()
 {
     return getLocale(eFRANCE);
 }
 
 const Locale & U_EXPORT2
-Locale::getGermany(void)
+Locale::getGermany()
 {
     return getLocale(eGERMANY);
 }
 
 const Locale & U_EXPORT2
-Locale::getItaly(void)
+Locale::getItaly()
 {
     return getLocale(eITALY);
 }
 
 const Locale & U_EXPORT2
-Locale::getJapan(void)
+Locale::getJapan()
 {
     return getLocale(eJAPAN);
 }
 
 const Locale & U_EXPORT2
-Locale::getKorea(void)
+Locale::getKorea()
 {
     return getLocale(eKOREA);
 }
 
 const Locale & U_EXPORT2
-Locale::getChina(void)
+Locale::getChina()
 {
     return getLocale(eCHINA);
 }
 
 const Locale & U_EXPORT2
-Locale::getPRC(void)
+Locale::getPRC()
 {
     return getLocale(eCHINA);
 }
 
 const Locale & U_EXPORT2
-Locale::getTaiwan(void)
+Locale::getTaiwan()
 {
     return getLocale(eTAIWAN);
 }
 
 const Locale & U_EXPORT2
-Locale::getUK(void)
+Locale::getUK()
 {
     return getLocale(eUK);
 }
 
 const Locale & U_EXPORT2
-Locale::getUS(void)
+Locale::getUS()
 {
     return getLocale(eUS);
 }
 
 const Locale & U_EXPORT2
-Locale::getCanada(void)
+Locale::getCanada()
 {
     return getLocale(eCANADA);
 }
 
 const Locale & U_EXPORT2
-Locale::getCanadaFrench(void)
+Locale::getCanadaFrench()
 {
     return getLocale(eCANADA_FRENCH);
 }
@@ -2394,7 +2394,7 @@ This function is defined this way in order to get around static
 initialization and static destruction.
  */
 Locale *
-Locale::getLocaleCache(void)
+Locale::getLocaleCache()
 {
     UErrorCode status = U_ZERO_ERROR;
     umtx_initOnce(gLocaleCacheInitOnce, locale_init, status);
@@ -2410,8 +2410,8 @@ private:
     static const char fgClassID;/* Warning this is used beyond the typical RTTI usage. */
 
 public:
-    static UClassID U_EXPORT2 getStaticClassID(void) { return (UClassID)&fgClassID; }
-    virtual UClassID getDynamicClassID(void) const override { return getStaticClassID(); }
+    static UClassID U_EXPORT2 getStaticClassID() { return (UClassID)&fgClassID; }
+    virtual UClassID getDynamicClassID() const override { return getStaticClassID(); }
 public:
     KeywordEnumeration(const char *keys, int32_t keywordLen, int32_t currentIndex, UErrorCode &status)
         : keywords((char *)&fgClassID), current((char *)&fgClassID), length(0) {
diff --git a/icu4c/source/common/locutil.cpp b/icu4c/source/common/locutil.cpp
index 9b9db8ac1d5..776d1d59636 100644
--- a/icu4c/source/common/locutil.cpp
+++ b/icu4c/source/common/locutil.cpp
@@ -36,7 +36,7 @@ static icu::Hashtable * LocaleUtility_cache = nullptr;
  * Release all static memory held by Locale Utility.  
  */
 U_CDECL_BEGIN
-static UBool U_CALLCONV service_cleanup(void) {
+static UBool U_CALLCONV service_cleanup() {
     if (LocaleUtility_cache) {
         delete LocaleUtility_cache;
         LocaleUtility_cache = nullptr;
diff --git a/icu4c/source/common/putil.cpp b/icu4c/source/common/putil.cpp
index b8cbb9f10a2..ab904af20ac 100644
--- a/icu4c/source/common/putil.cpp
+++ b/icu4c/source/common/putil.cpp
@@ -580,7 +580,7 @@ uprv_trunc(double d)
  * type of arbitrary bit length.
  */
 U_CAPI double U_EXPORT2
-uprv_maxMantissa(void)
+uprv_maxMantissa()
 {
     return pow(2.0, DBL_MANT_DIG + 1.0) - 1.0;
 }
@@ -964,7 +964,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
 /* dirent also lists two entries: "." and ".." that we can safely ignore. */
 #define SKIP1 "."
 #define SKIP2 ".."
-static UBool U_CALLCONV putil_cleanup(void);
+static UBool U_CALLCONV putil_cleanup();
 static CharString *gSearchTZFileResult = nullptr;
 
 /*
@@ -1074,7 +1074,7 @@ static void u_property_read(void* cookie, const char* name, const char* value,
 #endif
 
 U_CAPI void U_EXPORT2
-uprv_tzname_clear_cache(void)
+uprv_tzname_clear_cache()
 {
 #if U_PLATFORM == U_PF_ANDROID
     /* Android's timezone is stored in system property. */
@@ -1271,7 +1271,7 @@ static CharString *gTimeZoneFilesDirectory = nullptr;
  static bool gCorrectedPOSIXLocaleHeapAllocated = false;
 #endif
 
-static UBool U_CALLCONV putil_cleanup(void)
+static UBool U_CALLCONV putil_cleanup()
 {
     if (gDataDirectory && *gDataDirectory) {
         uprv_free(gDataDirectory);
@@ -1487,7 +1487,7 @@ static void U_CALLCONV dataDirectoryInitFn() {
 }
 
 U_CAPI const char * U_EXPORT2
-u_getDataDirectory(void) {
+u_getDataDirectory() {
     umtx_initOnce(gDataDirInitOnce, &dataDirectoryInitFn);
     return gDataDirectory;
 }
@@ -1647,7 +1647,7 @@ static const char *uprv_getPOSIXIDForCategory(int category)
 /* Return just the POSIX id for the default locale, whatever happens to be in
  * it. It gets the value from LC_MESSAGES and indirectly from LC_ALL and LANG.
  */
-static const char *uprv_getPOSIXIDForDefaultLocale(void)
+static const char *uprv_getPOSIXIDForDefaultLocale()
 {
     static const char* posixID = nullptr;
     if (posixID == 0) {
@@ -1660,7 +1660,7 @@ static const char *uprv_getPOSIXIDForDefaultLocale(void)
 /* Return just the POSIX id for the default codepage, whatever happens to be in
  * it. It gets the value from LC_CTYPE and indirectly from LC_ALL and LANG.
  */
-static const char *uprv_getPOSIXIDForDefaultCodepage(void)
+static const char *uprv_getPOSIXIDForDefaultCodepage()
 {
     static const char* posixID = nullptr;
     if (posixID == 0) {
diff --git a/icu4c/source/common/rbbi.cpp b/icu4c/source/common/rbbi.cpp
index fb544823bae..73716ab4066 100644
--- a/icu4c/source/common/rbbi.cpp
+++ b/icu4c/source/common/rbbi.cpp
@@ -394,7 +394,7 @@ RuleBasedBreakIterator::operator==(const BreakIterator& that) const {
  * @return A hash code
  */
 int32_t
-RuleBasedBreakIterator::hashCode(void) const {
+RuleBasedBreakIterator::hashCode() const {
     int32_t   hash = 0;
     if (fData != nullptr) {
         hash = fData->hashCode();
@@ -538,7 +538,7 @@ RuleBasedBreakIterator &RuleBasedBreakIterator::refreshInputText(UText *input, U
  * Sets the current iteration position to the beginning of the text, position zero.
  * @return The new iterator position, which is zero.
  */
-int32_t RuleBasedBreakIterator::first(void) {
+int32_t RuleBasedBreakIterator::first() {
     UErrorCode status = U_ZERO_ERROR;
     if (!fBreakCache->seek(0)) {
         fBreakCache->populateNear(0, status);
@@ -552,7 +552,7 @@ int32_t RuleBasedBreakIterator::first(void) {
  * Sets the current iteration position to the end of the text.
  * @return The text's past-the-end offset.
  */
-int32_t RuleBasedBreakIterator::last(void) {
+int32_t RuleBasedBreakIterator::last() {
     int32_t endPos = (int32_t)utext_nativeLength(&fText);
     UBool endShouldBeBoundary = isBoundary(endPos);      // Has side effect of setting iterator position.
     (void)endShouldBeBoundary;
@@ -590,7 +590,7 @@ int32_t RuleBasedBreakIterator::next(int32_t n) {
  * Advances the iterator to the next boundary position.
  * @return The position of the first boundary after this one.
  */
-int32_t RuleBasedBreakIterator::next(void) {
+int32_t RuleBasedBreakIterator::next() {
     fBreakCache->next();
     return fDone ? UBRK_DONE : fPosition;
 }
@@ -603,7 +603,7 @@ int32_t RuleBasedBreakIterator::next(void) {
  *
  * @return The position of the boundary position immediately preceding the starting position.
  */
-int32_t RuleBasedBreakIterator::previous(void) {
+int32_t RuleBasedBreakIterator::previous() {
     UErrorCode status = U_ZERO_ERROR;
     fBreakCache->previous(status);
     return fDone ? UBRK_DONE : fPosition;
@@ -700,7 +700,7 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
  * Returns the current iteration position.
  * @return The current iteration position.
  */
-int32_t RuleBasedBreakIterator::current(void) const {
+int32_t RuleBasedBreakIterator::current() const {
     return fPosition;
 }
 
@@ -1130,7 +1130,7 @@ static icu::UInitOnce gRBBIInitOnce {};
  * Release all static memory held by breakiterator.
  */
 U_CDECL_BEGIN
-UBool U_CALLCONV rbbi_cleanup(void) {
+UBool U_CALLCONV rbbi_cleanup() {
     delete gLanguageBreakFactories;
     gLanguageBreakFactories = nullptr;
     delete gEmptyString;
diff --git a/icu4c/source/common/rbbidata.h b/icu4c/source/common/rbbidata.h
index 04372d1e389..c48de3d9357 100644
--- a/icu4c/source/common/rbbidata.h
+++ b/icu4c/source/common/rbbidata.h
@@ -205,7 +205,7 @@ private:
 
 U_NAMESPACE_END
 
-U_CFUNC UBool rbbi_cleanup(void);
+U_CFUNC UBool rbbi_cleanup();
 
 #endif /* C++ */
 
diff --git a/icu4c/source/common/resbund.cpp b/icu4c/source/common/resbund.cpp
index 8dee18ba060..54383c981d1 100644
--- a/icu4c/source/common/resbund.cpp
+++ b/icu4c/source/common/resbund.cpp
@@ -273,27 +273,27 @@ int32_t ResourceBundle::getInt(UErrorCode& status) const {
     return ures_getInt(fResource, &status);
 }
 
-const char *ResourceBundle::getName(void) const {
+const char *ResourceBundle::getName() const {
     return ures_getName(fResource);
 }
 
-const char *ResourceBundle::getKey(void) const {
+const char *ResourceBundle::getKey() const {
     return ures_getKey(fResource);
 }
 
-UResType ResourceBundle::getType(void) const {
+UResType ResourceBundle::getType() const {
     return ures_getType(fResource);
 }
 
-int32_t ResourceBundle::getSize(void) const {
+int32_t ResourceBundle::getSize() const {
     return ures_getSize(fResource);
 }
 
-UBool ResourceBundle::hasNext(void) const {
+UBool ResourceBundle::hasNext() const {
     return ures_hasNext(fResource);
 }
 
-void ResourceBundle::resetIterator(void) {
+void ResourceBundle::resetIterator() {
     ures_resetIterator(fResource);
 }
 
@@ -377,7 +377,7 @@ void ResourceBundle::getVersion(UVersionInfo versionInfo) const {
     ures_getVersion(fResource, versionInfo);
 }
 
-const Locale &ResourceBundle::getLocale(void) const {
+const Locale &ResourceBundle::getLocale() const {
     static UMutex gLocaleLock;
     Mutex lock(&gLocaleLock);
     if (fLocale != nullptr) {
diff --git a/icu4c/source/common/serv.h b/icu4c/source/common/serv.h
index c9d664d65e8..9aea548fc3a 100644
--- a/icu4c/source/common/serv.h
+++ b/icu4c/source/common/serv.h
@@ -830,7 +830,7 @@ class U_COMMON_API ICUService : public ICUNotifier {
      *
      * <p>This issues a serviceChanged notification to registered listeners.</p>
      */
-    virtual void reset(void);
+    virtual void reset();
 
     /**
      * <p>Return true if the service is in its default state.</p>
@@ -838,7 +838,7 @@ class U_COMMON_API ICUService : public ICUNotifier {
      * <p>The default implementation returns true if there are no 
      * factories registered.</p>
      */
-    virtual UBool isDefault(void) const;
+    virtual UBool isDefault() const;
 
     /**
      * <p>Create a key from an ID.  If ID is nullptr, returns nullptr.</p>
@@ -895,7 +895,7 @@ class U_COMMON_API ICUService : public ICUNotifier {
      * directly, since it must only be called while holding write
      * access to the factory list.</p>
      */
-    virtual void reInitializeFactories(void);
+    virtual void reInitializeFactories();
 
     /**
      * <p>Default handler for this service if no factory in the factory list
@@ -918,7 +918,7 @@ class U_COMMON_API ICUService : public ICUNotifier {
      * should generally not call this method directly, as it must only
      * be called while synchronized on the factory lock.</p>
      */
-    virtual void clearCaches(void);
+    virtual void clearCaches();
 
     /**
      * <p>Return true if the listener is accepted.</p>
@@ -955,7 +955,7 @@ class U_COMMON_API ICUService : public ICUNotifier {
      * the resolution of IDs also changes, requiring the cache to be
      * flushed, but not the visible IDs themselves.</p>
      */
-    void clearServiceCache(void);
+    void clearServiceCache();
 
     /**
      * <p>Return a map from visible IDs to factories.
@@ -972,14 +972,14 @@ class U_COMMON_API ICUService : public ICUNotifier {
      *
      * @return the timestamp.
      */
-    int32_t getTimestamp(void) const;
+    int32_t getTimestamp() const;
 
     /**
      * <p>Return the number of registered factories.</p>
      *
      * @return the number of factories registered at the time of the call.
      */
-    int32_t countFactories(void) const;
+    int32_t countFactories() const;
 
 private:
 
diff --git a/icu4c/source/common/servloc.h b/icu4c/source/common/servloc.h
index 554f9959364..49d12409058 100644
--- a/icu4c/source/common/servloc.h
+++ b/icu4c/source/common/servloc.h
@@ -518,7 +518,7 @@ class U_COMMON_API ICULocaleService : public ICUService
    * Convenience method for callers using locales.  This returns the standard
    * service ID enumeration.
    */
-  virtual StringEnumeration* getAvailableLocales(void) const;
+  virtual StringEnumeration* getAvailableLocales() const;
 
  protected:
 
diff --git a/icu4c/source/common/servls.cpp b/icu4c/source/common/servls.cpp
index 18c0205918c..978a956df7c 100644
--- a/icu4c/source/common/servls.cpp
+++ b/icu4c/source/common/servls.cpp
@@ -245,8 +245,8 @@ public:
     }
 
 public:
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 ServiceEnumeration::~ServiceEnumeration() {}
@@ -254,7 +254,7 @@ ServiceEnumeration::~ServiceEnumeration() {}
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ServiceEnumeration)
 
 StringEnumeration*
-ICULocaleService::getAvailableLocales(void) const
+ICULocaleService::getAvailableLocales() const
 {
     return ServiceEnumeration::create(this);
 }
diff --git a/icu4c/source/common/servnotf.cpp b/icu4c/source/common/servnotf.cpp
index 5db65edf78d..b2ad663a488 100644
--- a/icu4c/source/common/servnotf.cpp
+++ b/icu4c/source/common/servnotf.cpp
@@ -23,12 +23,12 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(EventListener)
 
 static UMutex notifyLock;
 
-ICUNotifier::ICUNotifier(void) 
+ICUNotifier::ICUNotifier() 
 : listeners(nullptr) 
 {
 }
 
-ICUNotifier::~ICUNotifier(void) {
+ICUNotifier::~ICUNotifier() {
     {
         Mutex lmx(&notifyLock);
         delete listeners;
@@ -104,7 +104,7 @@ ICUNotifier::removeListener(const EventListener *l, UErrorCode& status)
 }
 
 void 
-ICUNotifier::notifyChanged(void) 
+ICUNotifier::notifyChanged() 
 {
     Mutex lmx(&notifyLock);
     if (listeners != nullptr) {
diff --git a/icu4c/source/common/servnotf.h b/icu4c/source/common/servnotf.h
index e3b2cac32e4..840fe1ae87f 100644
--- a/icu4c/source/common/servnotf.h
+++ b/icu4c/source/common/servnotf.h
@@ -75,9 +75,9 @@ class U_COMMON_API ICUNotifier : public UMemory  {
 private: UVector* listeners;
          
 public: 
-    ICUNotifier(void);
+    ICUNotifier();
     
-    virtual ~ICUNotifier(void);
+    virtual ~ICUNotifier();
     
     /**
      * Add a listener to be notified when notifyChanged is called.
@@ -101,7 +101,7 @@ public:
      * indefinitely block the calling thread.  Callers should beware of
      * deadlock situations.  
      */
-    virtual void notifyChanged(void);
+    virtual void notifyChanged();
     
 protected: 
     /**
diff --git a/icu4c/source/common/ubidi.cpp b/icu4c/source/common/ubidi.cpp
index c0ad3225f6d..fcf82fa97a8 100644
--- a/icu4c/source/common/ubidi.cpp
+++ b/icu4c/source/common/ubidi.cpp
@@ -124,7 +124,7 @@ static const Flags flagO[2]={ DIRPROP_FLAG(LRO), DIRPROP_FLAG(RLO) };
 /* UBiDi object management -------------------------------------------------- */
 
 U_CAPI UBiDi * U_EXPORT2
-ubidi_open(void)
+ubidi_open()
 {
     UErrorCode errorCode=U_ZERO_ERROR;
     return ubidi_openSized(0, 0, &errorCode);
diff --git a/icu4c/source/common/ucln_cmn.cpp b/icu4c/source/common/ucln_cmn.cpp
index 9e7f7b1f9b5..c63bd221929 100644
--- a/icu4c/source/common/ucln_cmn.cpp
+++ b/icu4c/source/common/ucln_cmn.cpp
@@ -37,7 +37,7 @@ static cleanupFunc *gLibCleanupFunctions[UCLN_COMMON];
  Please be sure that you have read ucln.h
  ************************************************/
 U_CAPI void U_EXPORT2
-u_cleanup(void)
+u_cleanup()
 {
     UTRACE_ENTRY_OC(UTRACE_U_CLEANUP);
     icu::umtx_lock(nullptr);     /* Force a memory barrier, so that we are sure to see   */
@@ -102,7 +102,7 @@ ucln_registerCleanup(ECleanupLibraryType type,
     }
 }
 
-U_CFUNC UBool ucln_lib_cleanup(void) {
+U_CFUNC UBool ucln_lib_cleanup() {
     int32_t libType = UCLN_START;
     int32_t commonFunc = UCLN_COMMON_START;
 
diff --git a/icu4c/source/common/ucnv_bld.cpp b/icu4c/source/common/ucnv_bld.cpp
index be604b58a84..564b645bed7 100644
--- a/icu4c/source/common/ucnv_bld.cpp
+++ b/icu4c/source/common/ucnv_bld.cpp
@@ -241,7 +241,7 @@ ucnv_flushAvailableConverterCache() {
 /*                in use by open converters.                                  */
 /*                Not thread safe.                                            */
 /*                Not supported API.                                          */
-static UBool U_CALLCONV ucnv_cleanup(void) {
+static UBool U_CALLCONV ucnv_cleanup() {
     ucnv_flushCache();
     if (SHARED_DATA_HASHTABLE != nullptr && uhash_count(SHARED_DATA_HASHTABLE) == 0) {
         uhash_close(SHARED_DATA_HASHTABLE);
@@ -262,7 +262,7 @@ static UBool U_CALLCONV ucnv_cleanup(void) {
 }
 
 U_CAPI void U_EXPORT2
-ucnv_enableCleanup(void) {
+ucnv_enableCleanup() {
     ucln_common_registerCleanup(UCLN_COMMON_UCNV, ucnv_cleanup);
 }
 
diff --git a/icu4c/source/common/ucnv_io.cpp b/icu4c/source/common/ucnv_io.cpp
index 5cabcbd5313..48bb5be42bd 100644
--- a/icu4c/source/common/ucnv_io.cpp
+++ b/icu4c/source/common/ucnv_io.cpp
@@ -216,7 +216,7 @@ isAcceptable(void * /*context*/,
         pInfo->formatVersion[0]==3);
 }
 
-static UBool U_CALLCONV ucnv_io_cleanup(void)
+static UBool U_CALLCONV ucnv_io_cleanup()
 {
     if (gAliasData) {
         udata_close(gAliasData);
@@ -997,7 +997,7 @@ ucnv_getAliases(const char *alias, const char **aliases, UErrorCode *pErrorCode)
 }
 
 U_CAPI uint16_t U_EXPORT2
-ucnv_countStandards(void)
+ucnv_countStandards()
 {
     UErrorCode err = U_ZERO_ERROR;
     return ucnv_io_countStandards(&err);
diff --git a/icu4c/source/common/ucurr.cpp b/icu4c/source/common/ucurr.cpp
index 1fbb4a268ae..ffca8aac5f1 100644
--- a/icu4c/source/common/ucurr.cpp
+++ b/icu4c/source/common/ucurr.cpp
@@ -231,7 +231,7 @@ static const icu::Hashtable* getCurrSymbolsEquiv();
  * Cleanup callback func
  */
 static UBool U_CALLCONV 
-isoCodes_cleanup(void)
+isoCodes_cleanup()
 {
     if (gIsoCodes != nullptr) {
         uhash_close(const_cast<UHashtable *>(gIsoCodes));
@@ -245,7 +245,7 @@ isoCodes_cleanup(void)
  * Cleanup callback func
  */
 static UBool U_CALLCONV 
-currSymbolsEquiv_cleanup(void)
+currSymbolsEquiv_cleanup()
 {
     delete const_cast<icu::Hashtable *>(gCurrSymbolsEquiv);
     gCurrSymbolsEquiv = nullptr;
@@ -361,7 +361,7 @@ idForLocale(const char* locale, char* countryAndVariant, int capacity, UErrorCod
 // don't use ICUService since we don't need fallback
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV currency_cleanup(void);
+static UBool U_CALLCONV currency_cleanup();
 U_CDECL_END
 
 #if !UCONFIG_NO_SERVICE
@@ -446,7 +446,7 @@ struct CReg : public icu::UMemory {
     }
 
     /* This doesn't need to be thread safe. It's for u_cleanup only. */
-    static void cleanup(void) {
+    static void cleanup() {
         while (gCRegHead) {
             CReg* n = gCRegHead;
             gCRegHead = gCRegHead->next;
@@ -485,14 +485,14 @@ ucurr_unregister(UCurrRegistryKey key, UErrorCode* status)
 /**
  * Release all static memory held by currency.
  */
-/*The declaration here is needed so currency_cleanup(void)
+/*The declaration here is needed so currency_cleanup()
  * can call this function.
  */
 static UBool U_CALLCONV
-currency_cache_cleanup(void);
+currency_cache_cleanup();
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV currency_cleanup(void) {
+static UBool U_CALLCONV currency_cleanup() {
 #if !UCONFIG_NO_SERVICE
     CReg::cleanup();
 #endif
@@ -1417,7 +1417,7 @@ deleteCacheEntry(CurrencyNameCacheEntry* entry) {
 
 // Cache clean up
 static UBool U_CALLCONV
-currency_cache_cleanup(void) {
+currency_cache_cleanup() {
     for (int32_t i = 0; i < CURRENCY_NAME_CACHE_NUM; ++i) {
         if (currCache[i]) {
             deleteCacheEntry(currCache[i]);
diff --git a/icu4c/source/common/udata.cpp b/icu4c/source/common/udata.cpp
index b983bbd7a3e..76d970f3f28 100644
--- a/icu4c/source/common/udata.cpp
+++ b/icu4c/source/common/udata.cpp
@@ -120,7 +120,7 @@ static UDataFileAccess  gDataFileAccess = UDATA_NO_FILES;
 #endif
 
 static UBool U_CALLCONV
-udata_cleanup(void)
+udata_cleanup()
 {
     int32_t i;
 
@@ -652,8 +652,8 @@ extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
  * to its data package, if it is linked in.
  */
 /*
-extern const void *uprv_getICUData_collation(void) ATTRIBUTE_WEAK;
-extern const void *uprv_getICUData_conversion(void) ATTRIBUTE_WEAK;
+extern const void *uprv_getICUData_collation() ATTRIBUTE_WEAK;
+extern const void *uprv_getICUData_conversion() ATTRIBUTE_WEAK;
 */
 
 /*----------------------------------------------------------------------*
diff --git a/icu4c/source/common/uloc.cpp b/icu4c/source/common/uloc.cpp
index 4935702fd9e..395df1466e4 100644
--- a/icu4c/source/common/uloc.cpp
+++ b/icu4c/source/common/uloc.cpp
@@ -56,7 +56,7 @@ U_NAMESPACE_USE
 
 /* Locale stuff from locid.cpp */
 U_CFUNC void locale_set_default(const char *id);
-U_CFUNC const char *locale_get_default(void);
+U_CFUNC const char *locale_get_default();
 
 /* ### Data tables **************************************************/
 
diff --git a/icu4c/source/common/uloc_keytype.cpp b/icu4c/source/common/uloc_keytype.cpp
index 071d44d965f..a84b8609079 100644
--- a/icu4c/source/common/uloc_keytype.cpp
+++ b/icu4c/source/common/uloc_keytype.cpp
@@ -53,7 +53,7 @@ static icu::MemoryPool<LocExtType>* gLocExtTypeEntries = nullptr;
 U_CDECL_BEGIN
 
 static UBool U_CALLCONV
-uloc_key_type_cleanup(void) {
+uloc_key_type_cleanup() {
     if (gLocExtKeyMap != nullptr) {
         uhash_close(gLocExtKeyMap);
         gLocExtKeyMap = nullptr;
diff --git a/icu4c/source/common/unames.cpp b/icu4c/source/common/unames.cpp
index eea09702f5a..1b3192bf25e 100644
--- a/icu4c/source/common/unames.cpp
+++ b/icu4c/source/common/unames.cpp
@@ -162,7 +162,7 @@ static const char * const charCatNames[U_CHAR_EXTENDED_CATEGORY_COUNT] = {
 
 /* implementation ----------------------------------------------------------- */
 
-static UBool U_CALLCONV unames_cleanup(void)
+static UBool U_CALLCONV unames_cleanup()
 {
     if(uCharNamesData) {
         udata_close(uCharNamesData);
diff --git a/icu4c/source/common/uniset.cpp b/icu4c/source/common/uniset.cpp
index 24fefea63f0..71f57fc12d4 100644
--- a/icu4c/source/common/uniset.cpp
+++ b/icu4c/source/common/uniset.cpp
@@ -294,7 +294,7 @@ bool UnicodeSet::operator==(const UnicodeSet& o) const {
  * @return the hash code value for this set.
  * @see Object#hashCode()
  */
-int32_t UnicodeSet::hashCode(void) const {
+int32_t UnicodeSet::hashCode() const {
     uint32_t result = static_cast<uint32_t>(len);
     for (int32_t i = 0; i < len; ++i) {
         result *= 1000003u;
@@ -314,7 +314,7 @@ int32_t UnicodeSet::hashCode(void) const {
  *
  * @return the number of elements in this set (its cardinality).
  */
-int32_t UnicodeSet::size(void) const {
+int32_t UnicodeSet::size() const {
     int32_t n = 0;
     int32_t count = getRangeCount();
     for (int32_t i = 0; i < count; ++i) {
@@ -328,7 +328,7 @@ int32_t UnicodeSet::size(void) const {
  *
  * @return <tt>true</tt> if this set contains no elements.
  */
-UBool UnicodeSet::isEmpty(void) const {
+UBool UnicodeSet::isEmpty() const {
     return len == 1 && !hasStrings();
 }
 
@@ -1218,7 +1218,7 @@ UnicodeSet& UnicodeSet::complement(UChar32 c) {
  * This is equivalent to
  * <code>complement(MIN_VALUE, MAX_VALUE)</code>.
  */
-UnicodeSet& UnicodeSet::complement(void) {
+UnicodeSet& UnicodeSet::complement() {
     if (isFrozen() || isBogus()) {
         return *this;
     }
@@ -1361,7 +1361,7 @@ UnicodeSet& UnicodeSet::complementAll(const UnicodeSet& c) {
  * Removes all of the elements from this set.  This set will be
  * empty after this call returns.
  */
-UnicodeSet& UnicodeSet::clear(void) {
+UnicodeSet& UnicodeSet::clear() {
     if (isFrozen()) {
         return *this;
     }
@@ -1687,7 +1687,7 @@ bool UnicodeSet::ensureBufferCapacity(int32_t newLen) {
 /**
  * Swap list and buffer.
  */
-void UnicodeSet::swapBuffers(void) {
+void UnicodeSet::swapBuffers() {
     // swap list and buffer
     UChar32* temp = list;
     list = buffer;
diff --git a/icu4c/source/common/uniset_props.cpp b/icu4c/source/common/uniset_props.cpp
index bb6ce27444c..b3dbdf93c88 100644
--- a/icu4c/source/common/uniset_props.cpp
+++ b/icu4c/source/common/uniset_props.cpp
@@ -67,7 +67,7 @@ static icu::UInitOnce uni32InitOnce {};
 /**
  * Cleanup function for UnicodeSet
  */
-static UBool U_CALLCONV uset_cleanup(void) {
+static UBool U_CALLCONV uset_cleanup() {
     delete uni32Singleton;
     uni32Singleton = nullptr;
     uni32InitOnce.reset();
diff --git a/icu4c/source/common/unistr.cpp b/icu4c/source/common/unistr.cpp
index 6398a2b9a3a..3cefb2c8b85 100644
--- a/icu4c/source/common/unistr.cpp
+++ b/icu4c/source/common/unistr.cpp
@@ -1234,7 +1234,7 @@ UnicodeString::getTerminatedBuffer() {
     } else if(((fUnion.fFields.fLengthAndFlags & kRefCounted) == 0 || refCount() == 1)) {
       // kRefCounted: Do not write the NUL if the buffer is shared.
       // That is mostly safe, except when the length of one copy was modified
-      // without copy-on-write, e.g., via truncate(newLength) or remove(void).
+      // without copy-on-write, e.g., via truncate(newLength) or remove().
       // Then the NUL would be written into the middle of another copy's string.
 
       // Otherwise, the buffer is fully writable and it is anyway safe to write the NUL.
@@ -1980,7 +1980,7 @@ This makes sure that static library dependencies are kept to a minimum.
 #if defined(__clang__) || U_GCC_MAJOR_MINOR >= 1100
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-function"
-static void uprv_UnicodeStringDummy(void) {
+static void uprv_UnicodeStringDummy() {
     delete [] (new UnicodeString[2]);
 }
 #pragma GCC diagnostic pop
diff --git a/icu4c/source/common/uresbund.cpp b/icu4c/source/common/uresbund.cpp
index 54342067227..d02bba8921e 100644
--- a/icu4c/source/common/uresbund.cpp
+++ b/icu4c/source/common/uresbund.cpp
@@ -430,7 +430,7 @@ static int32_t ures_flushCache()
 #ifdef URES_DEBUG
 #include <stdio.h>
 
-U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) {
+U_CAPI UBool U_EXPORT2 ures_dumpCacheContents() {
   UBool cacheNotEmpty = false;
   int32_t pos = UHASH_FIRST;
   const UHashElement *e;
@@ -461,7 +461,7 @@ U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) {
 
 #endif
 
-static UBool U_CALLCONV ures_cleanup(void)
+static UBool U_CALLCONV ures_cleanup()
 {
     if (cache != nullptr) {
         ures_flushCache();
diff --git a/icu4c/source/common/usprep.cpp b/icu4c/source/common/usprep.cpp
index e474cf820a0..fc9d0ac208f 100644
--- a/icu4c/source/common/usprep.cpp
+++ b/icu4c/source/common/usprep.cpp
@@ -192,7 +192,7 @@ usprep_flushCache(){
 }
 */
 
-static UBool U_CALLCONV usprep_cleanup(void){
+static UBool U_CALLCONV usprep_cleanup(){
     if (SHARED_DATA_HASHTABLE != nullptr) {
         usprep_internal_flushCache(true);
         if (SHARED_DATA_HASHTABLE != nullptr && uhash_count(SHARED_DATA_HASHTABLE) == 0) {
diff --git a/icu4c/source/common/ustack.cpp b/icu4c/source/common/ustack.cpp
index 8d9e475374d..5b15efcd7c5 100644
--- a/icu4c/source/common/ustack.cpp
+++ b/icu4c/source/common/ustack.cpp
@@ -35,7 +35,7 @@ UStack::UStack(UObjectDeleter *d, UElementsAreEqual *c, int32_t initialCapacity,
 
 UStack::~UStack() {}
 
-void* UStack::pop(void) {
+void* UStack::pop() {
     int32_t n = size() - 1;
     void* result = nullptr;
     if (n >= 0) {
@@ -44,7 +44,7 @@ void* UStack::pop(void) {
     return result;
 }
 
-int32_t UStack::popi(void) {
+int32_t UStack::popi() {
     int32_t n = size() - 1;
     int32_t result = 0;
     if (n >= 0) {
diff --git a/icu4c/source/common/uvector.cpp b/icu4c/source/common/uvector.cpp
index 729314ae95d..f93d73a3c69 100644
--- a/icu4c/source/common/uvector.cpp
+++ b/icu4c/source/common/uvector.cpp
@@ -248,7 +248,7 @@ UBool UVector::removeElement(void* obj) {
     return false;
 }
 
-void UVector::removeAllElements(void) {
+void UVector::removeAllElements() {
     if (deleter != nullptr) {
         for (int32_t i=0; i<count; ++i) {
             if (elements[i].pointer != nullptr) {
diff --git a/icu4c/source/common/uvector.h b/icu4c/source/common/uvector.h
index aa5fa2a5d74..1b2a58da86d 100644
--- a/icu4c/source/common/uvector.h
+++ b/icu4c/source/common/uvector.h
@@ -161,11 +161,11 @@ public:
 
     UBool equals(const UVector &other) const;
 
-    inline void* firstElement(void) const {return elementAt(0);}
+    inline void* firstElement() const {return elementAt(0);}
 
-    inline void* lastElement(void) const {return elementAt(count-1);}
+    inline void* lastElement() const {return elementAt(count-1);}
 
-    inline int32_t lastElementi(void) const {return elementAti(count-1);}
+    inline int32_t lastElementi() const {return elementAti(count-1);}
 
     int32_t indexOf(void* obj, int32_t startIndex = 0) const;
 
@@ -187,9 +187,9 @@ public:
 
     void removeAllElements();
 
-    inline int32_t size(void) const {return count;}
+    inline int32_t size() const {return count;}
 
-    inline UBool isEmpty(void) const {return count == 0;}
+    inline UBool isEmpty() const {return count == 0;}
 
     UBool ensureCapacity(int32_t minimumCapacity, UErrorCode &status);
 
@@ -328,20 +328,20 @@ public:
     // It's okay not to have a virtual destructor (in UVector)
     // because UStack has no special cleanup to do.
 
-    inline UBool empty(void) const {return isEmpty();}
+    inline UBool empty() const {return isEmpty();}
 
-    inline void* peek(void) const {return lastElement();}
+    inline void* peek() const {return lastElement();}
 
-    inline int32_t peeki(void) const {return lastElementi();}
+    inline int32_t peeki() const {return lastElementi();}
     
     /**
      * Pop and return an element from the stack.
      * For stacks with a deleter function, the caller takes ownership
      * of the popped element.
      */
-    void* pop(void);
+    void* pop();
     
-    int32_t popi(void);
+    int32_t popi();
     
     inline void* push(void* obj, UErrorCode &status) {
         if (hasDeleter()) {
diff --git a/icu4c/source/common/uvectr32.cpp b/icu4c/source/common/uvectr32.cpp
index 9c42e68f1f0..fb554729fe6 100644
--- a/icu4c/source/common/uvectr32.cpp
+++ b/icu4c/source/common/uvectr32.cpp
@@ -165,7 +165,7 @@ void UVector32::removeElementAt(int32_t index) {
     }
 }
 
-void UVector32::removeAllElements(void) {
+void UVector32::removeAllElements() {
     count = 0;
 }
 
diff --git a/icu4c/source/common/uvectr32.h b/icu4c/source/common/uvectr32.h
index 5aa948d2d41..2841391f573 100644
--- a/icu4c/source/common/uvectr32.h
+++ b/icu4c/source/common/uvectr32.h
@@ -107,7 +107,7 @@ public:
 
     UBool equals(const UVector32 &other) const;
 
-    inline int32_t lastElementi(void) const;
+    inline int32_t lastElementi() const;
 
     int32_t indexOf(int32_t elem, int32_t startIndex = 0) const;
 
@@ -123,9 +123,9 @@ public:
 
     void removeAllElements();
 
-    inline int32_t size(void) const;
+    inline int32_t size() const;
 
-    inline UBool isEmpty(void) const;
+    inline UBool isEmpty() const;
 
     // Inline.  Use this one for speedy size check.
     inline UBool ensureCapacity(int32_t minimumCapacity, UErrorCode &status);
@@ -197,11 +197,11 @@ private:
     //  In the original UVector, these were in a separate derived class, UStack.
     //  Here in UVector32, they are all together.
 public:
-    inline UBool empty(void) const;   // TODO:  redundant, same as empty().  Remove it?
+    inline UBool empty() const;   // TODO:  redundant, same as empty().  Remove it?
 
-    inline int32_t peeki(void) const;
+    inline int32_t peeki() const;
     
-    inline int32_t popi(void);
+    inline int32_t popi();
     
     inline int32_t push(int32_t i, UErrorCode &status);
 
@@ -252,11 +252,11 @@ inline int32_t *UVector32::popFrame(int32_t size) {
 
 
 
-inline int32_t UVector32::size(void) const {
+inline int32_t UVector32::size() const {
     return count;
 }
 
-inline UBool UVector32::isEmpty(void) const {
+inline UBool UVector32::isEmpty() const {
     return count == 0;
 }
 
@@ -264,7 +264,7 @@ inline UBool UVector32::contains(int32_t obj) const {
     return indexOf(obj) >= 0;
 }
 
-inline int32_t UVector32::lastElementi(void) const {
+inline int32_t UVector32::lastElementi() const {
     return elementAti(count-1);
 }
 
@@ -279,11 +279,11 @@ inline int32_t *UVector32::getBuffer() const {
 
 // UStack inlines
 
-inline UBool UVector32::empty(void) const {
+inline UBool UVector32::empty() const {
     return isEmpty();
 }
 
-inline int32_t UVector32::peeki(void) const {
+inline int32_t UVector32::peeki() const {
     return lastElementi();
 }
 
@@ -292,7 +292,7 @@ inline int32_t UVector32::push(int32_t i, UErrorCode &status) {
     return i;
 }
 
-inline int32_t UVector32::popi(void) {
+inline int32_t UVector32::popi() {
     int32_t result = 0;
     if (count > 0) {
         count--;
diff --git a/icu4c/source/common/uvectr64.cpp b/icu4c/source/common/uvectr64.cpp
index d6be264764a..05559dd8337 100644
--- a/icu4c/source/common/uvectr64.cpp
+++ b/icu4c/source/common/uvectr64.cpp
@@ -111,7 +111,7 @@ void UVector64::insertElementAt(int64_t elem, int32_t index, UErrorCode &status)
     /* else index out of range */
 }
 
-void UVector64::removeAllElements(void) {
+void UVector64::removeAllElements() {
     count = 0;
 }
 
diff --git a/icu4c/source/common/uvectr64.h b/icu4c/source/common/uvectr64.h
index 56ffea076c5..d719e6d0ff7 100644
--- a/icu4c/source/common/uvectr64.h
+++ b/icu4c/source/common/uvectr64.h
@@ -106,7 +106,7 @@ public:
 
     //UBool equals(const UVector64 &other) const;
 
-    inline int64_t lastElementi(void) const;
+    inline int64_t lastElementi() const;
 
     //int32_t indexOf(int64_t elem, int32_t startIndex = 0) const;
 
@@ -122,9 +122,9 @@ public:
 
     void removeAllElements();
 
-    inline int32_t size(void) const;
+    inline int32_t size() const;
 
-    inline UBool isEmpty(void) const { return count == 0; }
+    inline UBool isEmpty() const { return count == 0; }
 
     // Inline.  Use this one for speedy size check.
     inline UBool ensureCapacity(int32_t minimumCapacity, UErrorCode &status);
@@ -186,11 +186,11 @@ private:
     //  In the original UVector, these were in a separate derived class, UStack.
     //  Here in UVector64, they are all together.
 public:
-    //UBool empty(void) const;   // TODO:  redundant, same as empty().  Remove it?
+    //UBool empty() const;   // TODO:  redundant, same as empty().  Remove it?
 
-    //int64_t peeki(void) const;
+    //int64_t peeki() const;
     
-    inline int64_t popi(void);
+    inline int64_t popi();
     
     inline int64_t push(int64_t i, UErrorCode &status);
 
@@ -241,11 +241,11 @@ inline int64_t *UVector64::popFrame(int32_t size) {
 
 
 
-inline int32_t UVector64::size(void) const {
+inline int32_t UVector64::size() const {
     return count;
 }
 
-inline int64_t UVector64::lastElementi(void) const {
+inline int64_t UVector64::lastElementi() const {
     return elementAti(count-1);
 }
 
@@ -265,7 +265,7 @@ inline int64_t UVector64::push(int64_t i, UErrorCode &status) {
     return i;
 }
 
-inline int64_t UVector64::popi(void) {
+inline int64_t UVector64::popi() {
     int64_t result = 0;
     if (count > 0) {
         count--;
diff --git a/icu4c/source/i18n/astro.cpp b/icu4c/source/i18n/astro.cpp
index 40f9fe3e367..575efeb1758 100644
--- a/icu4c/source/i18n/astro.cpp
+++ b/icu4c/source/i18n/astro.cpp
@@ -68,7 +68,7 @@ static inline UBool isINVALID(double d) {
 static icu::UMutex ccLock;
 
 U_CDECL_BEGIN
-static UBool calendar_astro_cleanup(void) {
+static UBool calendar_astro_cleanup() {
   return true;
 }
 U_CDECL_END
diff --git a/icu4c/source/i18n/buddhcal.h b/icu4c/source/i18n/buddhcal.h
index dba4111129b..01b59341c12 100644
--- a/icu4c/source/i18n/buddhcal.h
+++ b/icu4c/source/i18n/buddhcal.h
@@ -107,7 +107,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -120,7 +120,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * return the calendar type, "buddhist".
diff --git a/icu4c/source/i18n/calendar.cpp b/icu4c/source/i18n/calendar.cpp
index 84de03beff6..72d5d10ed5f 100644
--- a/icu4c/source/i18n/calendar.cpp
+++ b/icu4c/source/i18n/calendar.cpp
@@ -70,7 +70,7 @@ static icu::UInitOnce gServiceInitOnce {};
 
 // INTERNAL - for cleanup
 U_CDECL_BEGIN
-static UBool calendar_cleanup(void) {
+static UBool calendar_cleanup() {
 #if !UCONFIG_NO_SERVICE
     if (gService) {
         delete gService;
@@ -2433,7 +2433,7 @@ Calendar::setRepeatedWallTimeOption(UCalendarWallTimeOption option)
 // -------------------------------------
 
 UCalendarWallTimeOption
-Calendar::getRepeatedWallTimeOption(void) const
+Calendar::getRepeatedWallTimeOption() const
 {
     return fRepeatedWallTime;
 }
@@ -2449,7 +2449,7 @@ Calendar::setSkippedWallTimeOption(UCalendarWallTimeOption option)
 // -------------------------------------
 
 UCalendarWallTimeOption
-Calendar::getSkippedWallTimeOption(void) const
+Calendar::getSkippedWallTimeOption() const
 {
     return fSkippedWallTime;
 }
@@ -2578,7 +2578,7 @@ Calendar::isWeekend(UDate date, UErrorCode &status) const
 }
 
 UBool
-Calendar::isWeekend(void) const
+Calendar::isWeekend() const
 {
     UErrorCode status = U_ZERO_ERROR;
     UCalendarDaysOfWeek dayOfWeek = (UCalendarDaysOfWeek)get(UCAL_DAY_OF_WEEK, status);
@@ -4059,7 +4059,7 @@ int32_t Calendar::internalGetMonth(int32_t defaultValue) const {
 }
 
 BasicTimeZone*
-Calendar::getBasicTimeZone(void) const {
+Calendar::getBasicTimeZone() const {
     if (dynamic_cast<const OlsonTimeZone *>(fZone) != nullptr
         || dynamic_cast<const SimpleTimeZone *>(fZone) != nullptr
         || dynamic_cast<const RuleBasedTimeZone *>(fZone) != nullptr
diff --git a/icu4c/source/i18n/chnsecal.cpp b/icu4c/source/i18n/chnsecal.cpp
index e6604c95aca..58685632e00 100644
--- a/icu4c/source/i18n/chnsecal.cpp
+++ b/icu4c/source/i18n/chnsecal.cpp
@@ -86,7 +86,7 @@ static const int32_t SYNODIC_GAP = 25;
 
 
 U_CDECL_BEGIN
-static UBool calendar_chinese_cleanup(void) {
+static UBool calendar_chinese_cleanup() {
     if (gChineseCalendarAstro) {
         delete gChineseCalendarAstro;
         gChineseCalendarAstro = nullptr;
@@ -161,7 +161,7 @@ static void U_CALLCONV initChineseCalZoneAstroCalc() {
     ucln_i18n_registerCleanup(UCLN_I18N_CHINESE_CALENDAR, calendar_chinese_cleanup);
 }
 
-const TimeZone* ChineseCalendar::getChineseCalZoneAstroCalc(void) const {
+const TimeZone* ChineseCalendar::getChineseCalZoneAstroCalc() const {
     umtx_initOnce(gChineseCalendarZoneAstroCalcInitOnce, &initChineseCalZoneAstroCalc);
     return gChineseCalendarZoneAstroCalc;
 }
diff --git a/icu4c/source/i18n/chnsecal.h b/icu4c/source/i18n/chnsecal.h
index cc4aa8026ab..9b5a629fad4 100644
--- a/icu4c/source/i18n/chnsecal.h
+++ b/icu4c/source/i18n/chnsecal.h
@@ -257,7 +257,7 @@ class U_I18N_API ChineseCalendar : public Calendar {
                  int32_t gmonth, UBool setAllFields);
   virtual int32_t newYear(int32_t gyear) const;
   virtual void offsetMonth(int32_t newMoon, int32_t dom, int32_t delta);
-  const TimeZone* getChineseCalZoneAstroCalc(void) const;
+  const TimeZone* getChineseCalZoneAstroCalc() const;
 
   // UObject stuff
  public: 
@@ -266,7 +266,7 @@ class U_I18N_API ChineseCalendar : public Calendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -279,7 +279,7 @@ class U_I18N_API ChineseCalendar : public Calendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "chinese".
@@ -320,13 +320,13 @@ class U_I18N_API ChineseCalendar : public Calendar {
    * Returns the beginning date of the 100-year window that dates 
    * with 2-digit years are considered to fall within.
    */
-  UDate         internalGetDefaultCenturyStart(void) const;
+  UDate         internalGetDefaultCenturyStart() const;
 
   /**
    * Returns the first year of the 100-year window that dates with 
    * 2-digit years are considered to fall within.
    */
-  int32_t          internalGetDefaultCenturyStartYear(void) const;
+  int32_t          internalGetDefaultCenturyStartYear() const;
 
   ChineseCalendar() = delete; // default constructor not implemented
 };
diff --git a/icu4c/source/i18n/coll.cpp b/icu4c/source/i18n/coll.cpp
index 5634ee8bb05..ced55c8dbf0 100644
--- a/icu4c/source/i18n/coll.cpp
+++ b/icu4c/source/i18n/coll.cpp
@@ -73,7 +73,7 @@ static icu::UInitOnce gAvailableLocaleListInitOnce {};
  * Release all static memory held by collator.
  */
 U_CDECL_BEGIN
-static UBool U_CALLCONV collator_cleanup(void) {
+static UBool U_CALLCONV collator_cleanup() {
 #if !UCONFIG_NO_SERVICE
     if (gService) {
         delete gService;
@@ -108,7 +108,7 @@ CollatorFactory::~CollatorFactory() {}
 //-------------------------------------------
 
 UBool
-CollatorFactory::visible(void) const {
+CollatorFactory::visible() const {
     return true;
 }
 
@@ -204,7 +204,7 @@ static void U_CALLCONV initService() {
 
 
 static ICULocaleService* 
-getService(void)
+getService()
 {
     umtx_initOnce(gServiceInitOnce, &initService);
     return gService;
@@ -213,7 +213,7 @@ getService(void)
 // -------------------------------------
 
 static inline UBool
-hasService(void) 
+hasService() 
 {
     UBool retVal = !gServiceInitOnce.isReset() && (getService() != nullptr);
     return retVal;
@@ -804,8 +804,8 @@ class CollationLocaleListEnumeration : public StringEnumeration {
 private:
     int32_t index;
 public:
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 public:
     CollationLocaleListEnumeration()
         : index(0)
@@ -864,7 +864,7 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CollationLocaleListEnumeration)
 // -------------------------------------
 
 StringEnumeration* U_EXPORT2
-Collator::getAvailableLocales(void)
+Collator::getAvailableLocales()
 {
 #if !UCONFIG_NO_SERVICE
     if (hasService()) {
@@ -913,7 +913,7 @@ Collator::getFunctionalEquivalent(const char* keyword, const Locale& locale,
 }
 
 Collator::ECollationStrength
-Collator::getStrength(void) const {
+Collator::getStrength() const {
     UErrorCode intStatus = U_ZERO_ERROR;
     return (ECollationStrength)getAttribute(UCOL_STRENGTH, intStatus);
 }
diff --git a/icu4c/source/i18n/coptccal.h b/icu4c/source/i18n/coptccal.h
index 46f1d63c0a1..396127e8adb 100644
--- a/icu4c/source/i18n/coptccal.h
+++ b/icu4c/source/i18n/coptccal.h
@@ -216,7 +216,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -229,7 +229,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);  
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();  
 
 #if 0
     // We do not want to introduce this API in ICU4C.
diff --git a/icu4c/source/i18n/cpdtrans.cpp b/icu4c/source/i18n/cpdtrans.cpp
index cb127c50917..9b103646891 100644
--- a/icu4c/source/i18n/cpdtrans.cpp
+++ b/icu4c/source/i18n/cpdtrans.cpp
@@ -265,7 +265,7 @@ CompoundTransliterator::~CompoundTransliterator() {
     freeTransliterators();
 }
 
-void CompoundTransliterator::freeTransliterators(void) {
+void CompoundTransliterator::freeTransliterators() {
     if (trans != 0) {
         for (int32_t i=0; i<count; ++i) {
             delete trans[i];
@@ -332,7 +332,7 @@ CompoundTransliterator* CompoundTransliterator::clone() const {
  * Returns the number of transliterators in this chain.
  * @return number of transliterators in this chain.
  */
-int32_t CompoundTransliterator::getCount(void) const {
+int32_t CompoundTransliterator::getCount() const {
     return count;
 }
 
@@ -599,7 +599,7 @@ void CompoundTransliterator::handleTransliterate(Replaceable& text, UTransPositi
  * Sets the length of the longest context required by this transliterator.
  * This is <em>preceding</em> context.
  */
-void CompoundTransliterator::computeMaximumContextLength(void) {
+void CompoundTransliterator::computeMaximumContextLength() {
     int32_t max = 0;
     for (int32_t i=0; i<count; ++i) {
         int32_t len = trans[i]->getMaximumContextLength();
diff --git a/icu4c/source/i18n/cpdtrans.h b/icu4c/source/i18n/cpdtrans.h
index ed7e438d97a..a27c617c95b 100644
--- a/icu4c/source/i18n/cpdtrans.h
+++ b/icu4c/source/i18n/cpdtrans.h
@@ -104,7 +104,7 @@ public:
      * Returns the number of transliterators in this chain.
      * @return number of transliterators in this chain.
      */
-    virtual int32_t getCount(void) const;
+    virtual int32_t getCount() const;
 
     /**
      * Returns the transliterator at the given index in this chain.
@@ -220,9 +220,9 @@ private:
     UnicodeString joinIDs(Transliterator* const transliterators[],
                           int32_t transCount);
 
-    void freeTransliterators(void);
+    void freeTransliterators();
 
-    void computeMaximumContextLength(void);
+    void computeMaximumContextLength();
 };
 
 U_NAMESPACE_END
diff --git a/icu4c/source/i18n/csdetect.cpp b/icu4c/source/i18n/csdetect.cpp
index 87b31a7958d..16004f9f5d5 100644
--- a/icu4c/source/i18n/csdetect.cpp
+++ b/icu4c/source/i18n/csdetect.cpp
@@ -51,7 +51,7 @@ static icu::UInitOnce gCSRecognizersInitOnce {};
 static int32_t fCSRecognizers_size = 0;
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV csdet_cleanup(void)
+static UBool U_CALLCONV csdet_cleanup()
 {
     U_NAMESPACE_USE
     if (fCSRecognizers != nullptr) {
diff --git a/icu4c/source/i18n/dangical.cpp b/icu4c/source/i18n/dangical.cpp
index 1aac6edb901..2b340ee4b45 100644
--- a/icu4c/source/i18n/dangical.cpp
+++ b/icu4c/source/i18n/dangical.cpp
@@ -33,7 +33,7 @@ static icu::UInitOnce gDangiCalendarInitOnce {};
 static const int32_t DANGI_EPOCH_YEAR = -2332; // Gregorian year
 
 U_CDECL_BEGIN
-static UBool calendar_dangi_cleanup(void) {
+static UBool calendar_dangi_cleanup() {
     if (gDangiCalendarZoneAstroCalc) {
         delete gDangiCalendarZoneAstroCalc;
         gDangiCalendarZoneAstroCalc = nullptr;
diff --git a/icu4c/source/i18n/dangical.h b/icu4c/source/i18n/dangical.h
index 3cf4aaff203..3e5b0bb859b 100644
--- a/icu4c/source/i18n/dangical.h
+++ b/icu4c/source/i18n/dangical.h
@@ -97,7 +97,7 @@ class DangiCalendar : public ChineseCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -110,7 +110,7 @@ class DangiCalendar : public ChineseCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+  U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "dangi".
diff --git a/icu4c/source/i18n/decNumber.cpp b/icu4c/source/i18n/decNumber.cpp
index 2ad9f526e3f..42da36dc4be 100644
--- a/icu4c/source/i18n/decNumber.cpp
+++ b/icu4c/source/i18n/decNumber.cpp
@@ -3605,7 +3605,7 @@ U_CAPI decNumber * U_EXPORT2 uprv_decNumberTrim(decNumber *dn) {
 /*                                                                    */
 /* No error is possible.                                              */
 /* ------------------------------------------------------------------ */
-const char * uprv_decNumberVersion(void) {
+const char * uprv_decNumberVersion() {
   return DECVERSION;
   } /* decNumberVersion  */
 
diff --git a/icu4c/source/i18n/decNumber.h b/icu4c/source/i18n/decNumber.h
index ddcc50e2efe..4a1eb364e19 100644
--- a/icu4c/source/i18n/decNumber.h
+++ b/icu4c/source/i18n/decNumber.h
@@ -174,7 +174,7 @@
   U_CAPI decNumber  * U_EXPORT2 uprv_decNumberNextPlus(decNumber *, const decNumber *, decContext *);
   U_CAPI decNumber  * U_EXPORT2 uprv_decNumberNextToward(decNumber *, const decNumber *, const decNumber *, decContext *);
   U_CAPI decNumber  * U_EXPORT2 uprv_decNumberTrim(decNumber *);
-  U_CAPI const char * U_EXPORT2 uprv_decNumberVersion(void);
+  U_CAPI const char * U_EXPORT2 uprv_decNumberVersion();
   U_CAPI decNumber  * U_EXPORT2 uprv_decNumberZero(decNumber *);
 
   /* Functions for testing decNumbers (normality depends on context)  */
diff --git a/icu4c/source/i18n/decimfmt.cpp b/icu4c/source/i18n/decimfmt.cpp
index 51ef3c91883..75906991d72 100644
--- a/icu4c/source/i18n/decimfmt.cpp
+++ b/icu4c/source/i18n/decimfmt.cpp
@@ -790,7 +790,7 @@ CurrencyAmount* DecimalFormat::parseCurrency(const UnicodeString& text, ParsePos
     }
 }
 
-const DecimalFormatSymbols* DecimalFormat::getDecimalFormatSymbols(void) const {
+const DecimalFormatSymbols* DecimalFormat::getDecimalFormatSymbols() const {
     if (fields == nullptr) {
         return nullptr;
     }
@@ -831,7 +831,7 @@ void DecimalFormat::setDecimalFormatSymbols(const DecimalFormatSymbols& symbols)
     touchNoError();
 }
 
-const CurrencyPluralInfo* DecimalFormat::getCurrencyPluralInfo(void) const {
+const CurrencyPluralInfo* DecimalFormat::getCurrencyPluralInfo() const {
     if (fields == nullptr) {
         return nullptr;
     }
@@ -957,7 +957,7 @@ void DecimalFormat::setSignAlwaysShown(UBool value) {
     touchNoError();
 }
 
-int32_t DecimalFormat::getMultiplier(void) const {
+int32_t DecimalFormat::getMultiplier() const {
     const DecimalFormatProperties *dfp;
     // Not much we can do to report an error.
     if (fields == nullptr) {
@@ -1021,7 +1021,7 @@ void DecimalFormat::setMultiplierScale(int32_t newValue) {
     touchNoError();
 }
 
-double DecimalFormat::getRoundingIncrement(void) const {
+double DecimalFormat::getRoundingIncrement() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1037,7 +1037,7 @@ void DecimalFormat::setRoundingIncrement(double newValue) {
     touchNoError();
 }
 
-ERoundingMode DecimalFormat::getRoundingMode(void) const {
+ERoundingMode DecimalFormat::getRoundingMode() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1058,7 +1058,7 @@ void DecimalFormat::setRoundingMode(ERoundingMode roundingMode) UPRV_NO_SANITIZE
     touchNoError();
 }
 
-int32_t DecimalFormat::getFormatWidth(void) const {
+int32_t DecimalFormat::getFormatWidth() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1094,7 +1094,7 @@ void DecimalFormat::setPadCharacter(const UnicodeString& padChar) {
     touchNoError();
 }
 
-EPadPosition DecimalFormat::getPadPosition(void) const {
+EPadPosition DecimalFormat::getPadPosition() const {
     if (fields == nullptr || fields->properties.padPosition.isNull()) {
         return EPadPosition::kPadBeforePrefix;
     } else {
@@ -1113,7 +1113,7 @@ void DecimalFormat::setPadPosition(EPadPosition padPos) {
     touchNoError();
 }
 
-UBool DecimalFormat::isScientificNotation(void) const {
+UBool DecimalFormat::isScientificNotation() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1134,7 +1134,7 @@ void DecimalFormat::setScientificNotation(UBool useScientific) {
     touchNoError();
 }
 
-int8_t DecimalFormat::getMinimumExponentDigits(void) const {
+int8_t DecimalFormat::getMinimumExponentDigits() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1150,7 +1150,7 @@ void DecimalFormat::setMinimumExponentDigits(int8_t minExpDig) {
     touchNoError();
 }
 
-UBool DecimalFormat::isExponentSignAlwaysShown(void) const {
+UBool DecimalFormat::isExponentSignAlwaysShown() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1166,7 +1166,7 @@ void DecimalFormat::setExponentSignAlwaysShown(UBool expSignAlways) {
     touchNoError();
 }
 
-int32_t DecimalFormat::getGroupingSize(void) const {
+int32_t DecimalFormat::getGroupingSize() const {
     int32_t groupingSize;
     // Not much we can do to report an error.
     if (fields == nullptr) {
@@ -1188,7 +1188,7 @@ void DecimalFormat::setGroupingSize(int32_t newValue) {
     touchNoError();
 }
 
-int32_t DecimalFormat::getSecondaryGroupingSize(void) const {
+int32_t DecimalFormat::getSecondaryGroupingSize() const {
     int32_t grouping2;
     // Not much we can do to report an error.
     if (fields == nullptr) {
@@ -1226,7 +1226,7 @@ void DecimalFormat::setMinimumGroupingDigits(int32_t newValue) {
     touchNoError();
 }
 
-UBool DecimalFormat::isDecimalSeparatorAlwaysShown(void) const {
+UBool DecimalFormat::isDecimalSeparatorAlwaysShown() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
@@ -1242,7 +1242,7 @@ void DecimalFormat::setDecimalSeparatorAlwaysShown(UBool newValue) {
     touchNoError();
 }
 
-UBool DecimalFormat::isDecimalPatternMatchRequired(void) const {
+UBool DecimalFormat::isDecimalPatternMatchRequired() const {
     // Not much we can do to report an error.
     if (fields == nullptr) {
         // Fallback to using the default instance of DecimalFormatProperties.
diff --git a/icu4c/source/i18n/dtfmtsym.cpp b/icu4c/source/i18n/dtfmtsym.cpp
index b652c3eeda5..354d9c37c53 100644
--- a/icu4c/source/i18n/dtfmtsym.cpp
+++ b/icu4c/source/i18n/dtfmtsym.cpp
@@ -1274,7 +1274,7 @@ DateFormatSymbols::getZoneStrings(int32_t& rowCount, int32_t& columnCount) const
 
 // This code must be called within a synchronized block
 void
-DateFormatSymbols::initZoneStringsArray(void) {
+DateFormatSymbols::initZoneStringsArray() {
     if (fZoneStrings != nullptr || fLocaleZoneStrings != nullptr) {
         return;
     }
@@ -1376,7 +1376,7 @@ DateFormatSymbols::setZoneStrings(const UnicodeString* const *strings, int32_t r
 //------------------------------------------------------
 
 const char16_t * U_EXPORT2
-DateFormatSymbols::getPatternUChars(void)
+DateFormatSymbols::getPatternUChars()
 {
     return gPatternChars;
 }
diff --git a/icu4c/source/i18n/dtptngen.cpp b/icu4c/source/i18n/dtptngen.cpp
index 6d89acf9968..1f74540fbd0 100644
--- a/icu4c/source/i18n/dtptngen.cpp
+++ b/icu4c/source/i18n/dtptngen.cpp
@@ -2287,7 +2287,7 @@ PatternMap::getDuplicateElem(
 
 }  // PatternMap::getDuplicateElem
 
-DateTimeMatcher::DateTimeMatcher(void) {
+DateTimeMatcher::DateTimeMatcher() {
 }
 
 DateTimeMatcher::~DateTimeMatcher() {}
diff --git a/icu4c/source/i18n/dtptngen_impl.h b/icu4c/source/i18n/dtptngen_impl.h
index 027b734a5c9..74fe925b2f6 100644
--- a/icu4c/source/i18n/dtptngen_impl.h
+++ b/icu4c/source/i18n/dtptngen_impl.h
@@ -278,8 +278,8 @@ class DTSkeletonEnumeration : public StringEnumeration {
 public:
     DTSkeletonEnumeration(PatternMap& patternMap, dtStrEnum type, UErrorCode& status);
     virtual ~DTSkeletonEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
@@ -293,8 +293,8 @@ class DTRedundantEnumeration : public StringEnumeration {
 public:
     DTRedundantEnumeration();
     virtual ~DTRedundantEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/dtrule.cpp b/icu4c/source/i18n/dtrule.cpp
index 63949b63aa9..7322cbfdad4 100644
--- a/icu4c/source/i18n/dtrule.cpp
+++ b/icu4c/source/i18n/dtrule.cpp
@@ -100,37 +100,37 @@ DateTimeRule::operator!=(const DateTimeRule& that) const {
 }
 
 DateTimeRule::DateRuleType
-DateTimeRule::getDateRuleType(void) const {
+DateTimeRule::getDateRuleType() const {
     return fDateRuleType;
 }
 
 DateTimeRule::TimeRuleType
-DateTimeRule::getTimeRuleType(void) const {
+DateTimeRule::getTimeRuleType() const {
     return fTimeRuleType;
 }
 
 int32_t
-DateTimeRule::getRuleMonth(void) const {
+DateTimeRule::getRuleMonth() const {
     return fMonth;
 }
 
 int32_t
-DateTimeRule::getRuleDayOfMonth(void) const {
+DateTimeRule::getRuleDayOfMonth() const {
     return fDayOfMonth;
 }
 
 int32_t
-DateTimeRule::getRuleDayOfWeek(void) const {
+DateTimeRule::getRuleDayOfWeek() const {
     return fDayOfWeek;
 }
 
 int32_t
-DateTimeRule::getRuleWeekInMonth(void) const {
+DateTimeRule::getRuleWeekInMonth() const {
     return fWeekInMonth;
 }
 
 int32_t
-DateTimeRule::getRuleMillisInDay(void) const {
+DateTimeRule::getRuleMillisInDay() const {
     return fMillisInDay;
 }
 
diff --git a/icu4c/source/i18n/ethpccal.h b/icu4c/source/i18n/ethpccal.h
index c5828d57706..1a5cd4f41aa 100644
--- a/icu4c/source/i18n/ethpccal.h
+++ b/icu4c/source/i18n/ethpccal.h
@@ -207,7 +207,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -220,7 +220,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);  
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();  
 
 #if 0
 // We do not want to introduce this API in ICU4C.
@@ -298,7 +298,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -311,7 +311,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void); 
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(); 
 
     /**
      * @return      The related Gregorian year; will be obtained by modifying the value
diff --git a/icu4c/source/i18n/fphdlimp.cpp b/icu4c/source/i18n/fphdlimp.cpp
index bfa15d8d551..e170dc4b992 100644
--- a/icu4c/source/i18n/fphdlimp.cpp
+++ b/icu4c/source/i18n/fphdlimp.cpp
@@ -54,7 +54,7 @@ FieldPositionOnlyHandler::shiftLast(int32_t delta) {
 }
 
 UBool
-FieldPositionOnlyHandler::isRecording(void) const {
+FieldPositionOnlyHandler::isRecording() const {
   return pos.getField() != FieldPosition::DONT_CARE;
 }
 
@@ -116,7 +116,7 @@ FieldPositionIteratorHandler::shiftLast(int32_t delta) {
 }
 
 UBool
-FieldPositionIteratorHandler::isRecording(void) const {
+FieldPositionIteratorHandler::isRecording() const {
   return U_SUCCESS(status);
 }
 
diff --git a/icu4c/source/i18n/fphdlimp.h b/icu4c/source/i18n/fphdlimp.h
index ee1bb8b04d2..ad09c6c9036 100644
--- a/icu4c/source/i18n/fphdlimp.h
+++ b/icu4c/source/i18n/fphdlimp.h
@@ -31,7 +31,7 @@ class U_I18N_API FieldPositionHandler: public UMemory {
   virtual ~FieldPositionHandler();
   virtual void addAttribute(int32_t id, int32_t start, int32_t limit) = 0;
   virtual void shiftLast(int32_t delta) = 0;
-  virtual UBool isRecording(void) const = 0;
+  virtual UBool isRecording() const = 0;
 
   void setShift(int32_t delta);
 };
@@ -50,7 +50,7 @@ class FieldPositionOnlyHandler : public FieldPositionHandler {
 
   void addAttribute(int32_t id, int32_t start, int32_t limit) override;
   void shiftLast(int32_t delta) override;
-  UBool isRecording(void) const override;
+  UBool isRecording() const override;
 
   /**
    * Enable this option to lock in the FieldPosition value after seeing the
@@ -88,7 +88,7 @@ class U_I18N_API FieldPositionIteratorHandler : public FieldPositionHandler {
 
   void addAttribute(int32_t id, int32_t start, int32_t limit) override;
   void shiftLast(int32_t delta) override;
-  UBool isRecording(void) const override;
+  UBool isRecording() const override;
 
   /** Copies a failed error code into _status. */
   inline void getError(UErrorCode& _status) {
diff --git a/icu4c/source/i18n/gender.cpp b/icu4c/source/i18n/gender.cpp
index 04615799279..97d161de321 100644
--- a/icu4c/source/i18n/gender.cpp
+++ b/icu4c/source/i18n/gender.cpp
@@ -48,7 +48,7 @@ enum GenderStyle {
 
 U_CDECL_BEGIN
 
-static UBool U_CALLCONV gender_cleanup(void) {
+static UBool U_CALLCONV gender_cleanup() {
   if (gGenderInfoCache != nullptr) {
     uhash_close(gGenderInfoCache);
     gGenderInfoCache = nullptr;
diff --git a/icu4c/source/i18n/hebrwcal.cpp b/icu4c/source/i18n/hebrwcal.cpp
index c8b0476143b..efd0d8fd4ac 100644
--- a/icu4c/source/i18n/hebrwcal.cpp
+++ b/icu4c/source/i18n/hebrwcal.cpp
@@ -139,7 +139,7 @@ static const int16_t  LEAP_MONTH_START[][3] = {
 static icu::CalendarCache *gCache =  nullptr;
 
 U_CDECL_BEGIN
-static UBool calendar_hebrew_cleanup(void) {
+static UBool calendar_hebrew_cleanup() {
     delete gCache;
     gCache = nullptr;
     return true;
diff --git a/icu4c/source/i18n/hebrwcal.h b/icu4c/source/i18n/hebrwcal.h
index 21c54e77092..829a642211a 100644
--- a/icu4c/source/i18n/hebrwcal.h
+++ b/icu4c/source/i18n/hebrwcal.h
@@ -198,7 +198,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -211,7 +211,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    static UClassID U_EXPORT2 getStaticClassID(void);
+    static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * return the calendar type, "hebrew".
diff --git a/icu4c/source/i18n/indiancal.h b/icu4c/source/i18n/indiancal.h
index 05d427316ca..5ef9113a85a 100644
--- a/icu4c/source/i18n/indiancal.h
+++ b/icu4c/source/i18n/indiancal.h
@@ -261,7 +261,7 @@ public:
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -274,7 +274,7 @@ public:
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "indian".
diff --git a/icu4c/source/i18n/islamcal.cpp b/icu4c/source/i18n/islamcal.cpp
index 09e26637e08..c21530a736e 100644
--- a/icu4c/source/i18n/islamcal.cpp
+++ b/icu4c/source/i18n/islamcal.cpp
@@ -58,7 +58,7 @@ static icu::CalendarCache *gMonthCache = nullptr;
 static icu::CalendarAstronomer *gIslamicCalendarAstro = nullptr;
 
 U_CDECL_BEGIN
-static UBool calendar_islamic_cleanup(void) {
+static UBool calendar_islamic_cleanup() {
     if (gMonthCache) {
         delete gMonthCache;
         gMonthCache = nullptr;
diff --git a/icu4c/source/i18n/islamcal.h b/icu4c/source/i18n/islamcal.h
index 0ad241e60f4..8469269bccc 100644
--- a/icu4c/source/i18n/islamcal.h
+++ b/icu4c/source/i18n/islamcal.h
@@ -313,7 +313,7 @@ class U_I18N_API IslamicCalendar : public Calendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -326,7 +326,7 @@ class U_I18N_API IslamicCalendar : public Calendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  /*U_I18N_API*/ static UClassID U_EXPORT2 getStaticClassID(void);
+  /*U_I18N_API*/ static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "islamic".
@@ -389,7 +389,7 @@ class U_I18N_API IslamicCalendar : public Calendar {
    * are considered to fall within so that its start date is 80 years
    * before the current time.
    */
-  static void U_CALLCONV initializeSystemDefaultCentury(void);
+  static void U_CALLCONV initializeSystemDefaultCentury();
 };
 
 /*
@@ -434,7 +434,7 @@ class U_I18N_API IslamicCivilCalendar : public IslamicCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -447,7 +447,7 @@ class U_I18N_API IslamicCivilCalendar : public IslamicCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "islamic-civil".
@@ -546,7 +546,7 @@ class U_I18N_API IslamicTBLACalendar : public IslamicCivilCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -559,7 +559,7 @@ class U_I18N_API IslamicTBLACalendar : public IslamicCivilCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "islamic-tbla".
@@ -614,7 +614,7 @@ class U_I18N_API IslamicUmalquraCalendar : public IslamicCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -627,7 +627,7 @@ class U_I18N_API IslamicUmalquraCalendar : public IslamicCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "islamic-umalqura".
@@ -730,7 +730,7 @@ class U_I18N_API IslamicRGSACalendar : public IslamicCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -743,7 +743,7 @@ class U_I18N_API IslamicRGSACalendar : public IslamicCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  static UClassID U_EXPORT2 getStaticClassID(void);
+  static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "islamic-rgsa".
diff --git a/icu4c/source/i18n/iso8601cal.h b/icu4c/source/i18n/iso8601cal.h
index 48dff5a3b44..688fac3588b 100644
--- a/icu4c/source/i18n/iso8601cal.h
+++ b/icu4c/source/i18n/iso8601cal.h
@@ -67,7 +67,7 @@ class ISO8601Calendar : public GregorianCalendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -80,7 +80,7 @@ class ISO8601Calendar : public GregorianCalendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+  U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "iso8601".
diff --git a/icu4c/source/i18n/japancal.cpp b/icu4c/source/i18n/japancal.cpp
index b8ba699bb5f..fc18d6c0eb1 100644
--- a/icu4c/source/i18n/japancal.cpp
+++ b/icu4c/source/i18n/japancal.cpp
@@ -43,7 +43,7 @@ static icu::UInitOnce gJapaneseEraRulesInitOnce {};
 static int32_t gCurrentEra = 0;
 
 U_CDECL_BEGIN
-static UBool japanese_calendar_cleanup(void) {
+static UBool japanese_calendar_cleanup() {
     if (gJapaneseEraRules) {
         delete gJapaneseEraRules;
         gJapaneseEraRules = nullptr;
diff --git a/icu4c/source/i18n/japancal.h b/icu4c/source/i18n/japancal.h
index 88513440528..3ae4900a2cd 100644
--- a/icu4c/source/i18n/japancal.h
+++ b/icu4c/source/i18n/japancal.h
@@ -70,14 +70,14 @@ public:
      * Check environment variable. 
      * @internal
      */
-    U_I18N_API static UBool U_EXPORT2 enableTentativeEra(void);
+    U_I18N_API static UBool U_EXPORT2 enableTentativeEra();
 
     /**
      * Useful constants for JapaneseCalendar.
      * Exported for use by test code.
      * @internal
      */
-    U_I18N_API static uint32_t U_EXPORT2 getCurrentEra(void); // the current era
+    U_I18N_API static uint32_t U_EXPORT2 getCurrentEra(); // the current era
 
     /**
      * Constructs a JapaneseCalendar based on the current time in the default time zone
@@ -143,7 +143,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -156,7 +156,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * return the calendar type, "japanese".
diff --git a/icu4c/source/i18n/msgfmt_impl.h b/icu4c/source/i18n/msgfmt_impl.h
index 80cb8a691eb..84344a3a251 100644
--- a/icu4c/source/i18n/msgfmt_impl.h
+++ b/icu4c/source/i18n/msgfmt_impl.h
@@ -28,8 +28,8 @@ class FormatNameEnumeration : public StringEnumeration {
 public:
     FormatNameEnumeration(LocalPointer<UVector> fFormatNames, UErrorCode& status);
     virtual ~FormatNameEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/nfsubs.cpp b/icu4c/source/i18n/nfsubs.cpp
index 48de7dadc0c..4f3247ce50d 100644
--- a/icu4c/source/i18n/nfsubs.cpp
+++ b/icu4c/source/i18n/nfsubs.cpp
@@ -65,8 +65,8 @@ public:
     virtual char16_t tokenChar() const override { return (char16_t)0x003d; } // '='
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 SameValueSubstitution::~SameValueSubstitution() {}
@@ -119,8 +119,8 @@ public:
     virtual char16_t tokenChar() const override { return (char16_t)0x003c; } // '<'
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 MultiplierSubstitution::~MultiplierSubstitution() {}
@@ -174,8 +174,8 @@ public:
     virtual void toString(UnicodeString& result) const override;
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 ModulusSubstitution::~ModulusSubstitution() {}
@@ -196,8 +196,8 @@ public:
     virtual char16_t tokenChar() const override { return (char16_t)0x003c; } // '<'
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 IntegralPartSubstitution::~IntegralPartSubstitution() {}
@@ -233,8 +233,8 @@ public:
     virtual char16_t tokenChar() const override { return (char16_t)0x003e; } // '>'
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 FractionalPartSubstitution::~FractionalPartSubstitution() {}
@@ -255,8 +255,8 @@ public:
     virtual char16_t tokenChar() const override { return (char16_t)0x003e; } // '>'
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 AbsoluteValueSubstitution::~AbsoluteValueSubstitution() {}
@@ -307,8 +307,8 @@ private:
     static const char16_t LTLT[2];
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 NumeratorSubstitution::~NumeratorSubstitution() {}
diff --git a/icu4c/source/i18n/nfsubs.h b/icu4c/source/i18n/nfsubs.h
index e36f3a668bf..d252f864993 100644
--- a/icu4c/source/i18n/nfsubs.h
+++ b/icu4c/source/i18n/nfsubs.h
@@ -249,8 +249,8 @@ private:
     NFSubstitution &operator=(const NFSubstitution &other) = delete; // forbid copying of this class
 
 public:
-    static UClassID getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 U_NAMESPACE_END
diff --git a/icu4c/source/i18n/numfmt.cpp b/icu4c/source/i18n/numfmt.cpp
index 29bb775fd1e..74689e1363a 100644
--- a/icu4c/source/i18n/numfmt.cpp
+++ b/icu4c/source/i18n/numfmt.cpp
@@ -172,7 +172,7 @@ deleteNumberingSystem(void *obj) {
     delete (icu::NumberingSystem *)obj;
 }
 
-static UBool U_CALLCONV numfmt_cleanup(void) {
+static UBool U_CALLCONV numfmt_cleanup() {
 #if !UCONFIG_NO_SERVICE
     gServiceInitOnce.reset();
     if (gService) {
@@ -210,7 +210,7 @@ SimpleNumberFormatFactory::SimpleNumberFormatFactory(const Locale& locale, UBool
 
 SimpleNumberFormatFactory::~SimpleNumberFormatFactory() {}
 
-UBool SimpleNumberFormatFactory::visible(void) const {
+UBool SimpleNumberFormatFactory::visible() const {
     return _visible;
 }
 
@@ -481,23 +481,23 @@ class ArgExtractor {
   ArgExtractor(const NumberFormat& nf, const Formattable& obj, UErrorCode& status);
   ~ArgExtractor();
 
-  const Formattable* number(void) const;
-  const char16_t *iso(void) const;
-  UBool wasCurrency(void) const;
+  const Formattable* number() const;
+  const char16_t *iso() const;
+  UBool wasCurrency() const;
 };
 
 inline const Formattable*
-ArgExtractor::number(void) const {
+ArgExtractor::number() const {
   return num;
 }
 
 inline UBool
-ArgExtractor::wasCurrency(void) const {
+ArgExtractor::wasCurrency() const {
   return fWasCurrency;
 }
 
 inline const char16_t *
-ArgExtractor::iso(void) const {
+ArgExtractor::iso() const {
   return save;
 }
 
@@ -973,7 +973,7 @@ static void U_CALLCONV initNumberFormatService() {
 }
 
 static ICULocaleService*
-getNumberFormatService(void)
+getNumberFormatService()
 {
     umtx_initOnce(gServiceInitOnce, &initNumberFormatService);
     return gService;
@@ -1021,7 +1021,7 @@ NumberFormat::unregister(URegistryKey key, UErrorCode& status)
 
 // -------------------------------------
 StringEnumeration* U_EXPORT2
-NumberFormat::getAvailableLocales(void)
+NumberFormat::getAvailableLocales()
 {
   ICULocaleService *service = getNumberFormatService();
   if (service) {
diff --git a/icu4c/source/i18n/numsys_impl.h b/icu4c/source/i18n/numsys_impl.h
index e76e634dd23..42cf102a131 100644
--- a/icu4c/source/i18n/numsys_impl.h
+++ b/icu4c/source/i18n/numsys_impl.h
@@ -29,8 +29,8 @@ public:
     NumsysNameEnumeration(UErrorCode& status);
 
     virtual ~NumsysNameEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/olsontz.cpp b/icu4c/source/i18n/olsontz.cpp
index d1d01463f16..260e345d795 100644
--- a/icu4c/source/i18n/olsontz.cpp
+++ b/icu4c/source/i18n/olsontz.cpp
@@ -651,7 +651,7 @@ OlsonTimeZone::hasSameRules(const TimeZone &other) const {
 }
 
 void
-OlsonTimeZone::clearTransitionRules(void) {
+OlsonTimeZone::clearTransitionRules() {
     initialRule = nullptr;
     firstTZTransition = nullptr;
     firstFinalTZTransition = nullptr;
@@ -663,7 +663,7 @@ OlsonTimeZone::clearTransitionRules(void) {
 }
 
 void
-OlsonTimeZone::deleteTransitionRules(void) {
+OlsonTimeZone::deleteTransitionRules() {
     if (initialRule != nullptr) {
         delete initialRule;
     }
diff --git a/icu4c/source/i18n/olsontz.h b/icu4c/source/i18n/olsontz.h
index 06b24db3170..9fe0d5dfed1 100644
--- a/icu4c/source/i18n/olsontz.h
+++ b/icu4c/source/i18n/olsontz.h
@@ -385,8 +385,8 @@ private:
     const char16_t *canonicalID;
 
     /* BasicTimeZone support */
-    void clearTransitionRules(void);
-    void deleteTransitionRules(void);
+    void clearTransitionRules();
+    void deleteTransitionRules();
     void checkTransitionRules(UErrorCode& status) const;
 
   public:    // Internal, for access from plain C code
diff --git a/icu4c/source/i18n/persncal.h b/icu4c/source/i18n/persncal.h
index 0d4c12535c2..b943321a54d 100644
--- a/icu4c/source/i18n/persncal.h
+++ b/icu4c/source/i18n/persncal.h
@@ -255,7 +255,7 @@ class PersianCalendar : public Calendar {
    *           same class ID. Objects of other classes have different class IDs.
    * @internal
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Return the class ID for this class. This is useful only for comparing to a return
@@ -268,7 +268,7 @@ class PersianCalendar : public Calendar {
    * @return   The class ID for all objects of this class.
    * @internal
    */
-  U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+  U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
   /**
    * return the calendar type, "persian".
diff --git a/icu4c/source/i18n/plurrule_impl.h b/icu4c/source/i18n/plurrule_impl.h
index bf86dd1f440..4de6d6460aa 100644
--- a/icu4c/source/i18n/plurrule_impl.h
+++ b/icu4c/source/i18n/plurrule_impl.h
@@ -410,8 +410,8 @@ class PluralKeywordEnumeration : public StringEnumeration {
 public:
     PluralKeywordEnumeration(RuleChain *header, UErrorCode& status);
     virtual ~PluralKeywordEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/rbnf.cpp b/icu4c/source/i18n/rbnf.cpp
index c929c3e2157..06599b4fd16 100644
--- a/icu4c/source/i18n/rbnf.cpp
+++ b/icu4c/source/i18n/rbnf.cpp
@@ -87,12 +87,12 @@ protected:
 public:
     LocalizationInfo() : refcount(0) {}
     
-    LocalizationInfo* ref(void) {
+    LocalizationInfo* ref() {
         ++refcount;
         return this;
     }
     
-    LocalizationInfo* unref(void) {
+    LocalizationInfo* unref() {
         if (refcount && --refcount == 0) {
             delete this;
         }
@@ -102,9 +102,9 @@ public:
     virtual bool operator==(const LocalizationInfo* rhs) const;
     inline  bool operator!=(const LocalizationInfo* rhs) const { return !operator==(rhs); }
     
-    virtual int32_t getNumberOfRuleSets(void) const = 0;
+    virtual int32_t getNumberOfRuleSets() const = 0;
     virtual const char16_t* getRuleSetName(int32_t index) const = 0;
-    virtual int32_t getNumberOfDisplayLocales(void) const = 0;
+    virtual int32_t getNumberOfDisplayLocales() const = 0;
     virtual const char16_t* getLocaleName(int32_t index) const = 0;
     virtual const char16_t* getDisplayName(int32_t localeIndex, int32_t ruleIndex) const = 0;
     
@@ -112,7 +112,7 @@ public:
     virtual int32_t indexForRuleSet(const char16_t* ruleset) const;
     
 //    virtual UClassID getDynamicClassID() const = 0;
-//    static UClassID getStaticClassID(void);
+//    static UClassID getStaticClassID();
 };
 
 LocalizationInfo::~LocalizationInfo() {}
@@ -243,7 +243,7 @@ public:
         }
     }
     
-    void** release(void) {
+    void** release() {
         void** result = buf;
         buf = nullptr;
         cap = 0;
@@ -271,14 +271,14 @@ public:
     static StringLocalizationInfo* create(const UnicodeString& info, UParseError& perror, UErrorCode& status);
     
     virtual ~StringLocalizationInfo();
-    virtual int32_t getNumberOfRuleSets(void) const override { return numRuleSets; }
+    virtual int32_t getNumberOfRuleSets() const override { return numRuleSets; }
     virtual const char16_t* getRuleSetName(int32_t index) const override;
-    virtual int32_t getNumberOfDisplayLocales(void) const override { return numLocales; }
+    virtual int32_t getNumberOfDisplayLocales() const override { return numLocales; }
     virtual const char16_t* getLocaleName(int32_t index) const override;
     virtual const char16_t* getDisplayName(int32_t localeIndex, int32_t ruleIndex) const override;
     
 //    virtual UClassID getDynamicClassID() const;
-//    static UClassID getStaticClassID(void);
+//    static UClassID getStaticClassID();
     
 private:
     void init(UErrorCode& status) const;
@@ -318,7 +318,7 @@ public:
     
 private:
     
-    inline void inc(void) {
+    inline void inc() {
         ++p;
         ch = 0xffff;
     }
@@ -332,7 +332,7 @@ private:
     inline UBool check(char16_t c) {
         return p < e && (ch == c || *p == c);
     }
-    inline void skipWhitespace(void) {
+    inline void skipWhitespace() {
         while (p < e && PatternProps::isWhiteSpace(ch != 0xffff ? ch : *p)) {
             inc();
         }
@@ -348,10 +348,10 @@ private:
     }
     void parseError(const char* msg);
     
-    StringLocalizationInfo* doParse(void);
+    StringLocalizationInfo* doParse();
         
     char16_t** nextArray(int32_t& requiredLength);
-    char16_t*  nextString(void);
+    char16_t*  nextString();
 };
 
 #ifdef RBNF_DEBUG
@@ -419,7 +419,7 @@ LocDataParser::parse(char16_t* _data, int32_t len) {
 
 
 StringLocalizationInfo*
-LocDataParser::doParse(void) {
+LocDataParser::doParse() {
     skipWhitespace();
     if (!checkInc(OPEN_ANGLE)) {
         ERROR("Missing open angle");
@@ -1027,7 +1027,7 @@ RuleBasedNumberFormat::getNumberOfRuleSetNames() const
 }
 
 int32_t 
-RuleBasedNumberFormat::getNumberOfRuleSetDisplayNameLocales(void) const {
+RuleBasedNumberFormat::getNumberOfRuleSetDisplayNameLocales() const {
     if (localizations) {
         return localizations->getNumberOfDisplayLocales();
     }
diff --git a/icu4c/source/i18n/rbt.h b/icu4c/source/i18n/rbt.h
index 8a43c90d462..59fa286a45a 100644
--- a/icu4c/source/i18n/rbt.h
+++ b/icu4c/source/i18n/rbt.h
@@ -193,7 +193,7 @@ public:
      * @return          The class ID for all objects of this class.
      * @internal Use transliterator factory methods instead since this class will be removed in that release.
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * Returns a unique class ID <b>polymorphically</b>.  This method
@@ -205,7 +205,7 @@ public:
      * class have the same class ID.  Objects of other classes have
      * different class IDs.
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
 private:
 
diff --git a/icu4c/source/i18n/rbt_rule.cpp b/icu4c/source/i18n/rbt_rule.cpp
index 23401517660..da8e4eaa1fb 100644
--- a/icu4c/source/i18n/rbt_rule.cpp
+++ b/icu4c/source/i18n/rbt_rule.cpp
@@ -208,7 +208,7 @@ TransliterationRule::~TransliterationRule() {
  * needed to make repeated incremental transliteration with
  * anchors work.
  */
-int32_t TransliterationRule::getContextLength(void) const {
+int32_t TransliterationRule::getContextLength() const {
     return anteContextLength + ((flags & ANCHOR_START) ? 1 : 0);
 }
 
diff --git a/icu4c/source/i18n/rbt_rule.h b/icu4c/source/i18n/rbt_rule.h
index 7ea39f7a353..c6f5151d4cf 100644
--- a/icu4c/source/i18n/rbt_rule.h
+++ b/icu4c/source/i18n/rbt_rule.h
@@ -217,7 +217,7 @@ public:
      * anchors work.
      * @return    the preceding context length.
      */
-    virtual int32_t getContextLength(void) const;
+    virtual int32_t getContextLength() const;
 
     /**
      * Internal method.  Returns 8-bit index value for this rule.
diff --git a/icu4c/source/i18n/rbt_set.cpp b/icu4c/source/i18n/rbt_set.cpp
index 9423ecaba84..c0a2ccd8687 100644
--- a/icu4c/source/i18n/rbt_set.cpp
+++ b/icu4c/source/i18n/rbt_set.cpp
@@ -225,7 +225,7 @@ void TransliterationRuleSet::setData(const TransliterationRuleData* d) {
  * Return the maximum context length.
  * @return the length of the longest preceding context.
  */
-int32_t TransliterationRuleSet::getMaximumContextLength(void) const {
+int32_t TransliterationRuleSet::getMaximumContextLength() const {
     return maxContextLength;
 }
 
diff --git a/icu4c/source/i18n/rbt_set.h b/icu4c/source/i18n/rbt_set.h
index 3a2890e8ec7..fb436ff67e9 100644
--- a/icu4c/source/i18n/rbt_set.h
+++ b/icu4c/source/i18n/rbt_set.h
@@ -92,7 +92,7 @@ public:
      * Return the maximum context length.
      * @return the length of the longest preceding context.
      */
-    virtual int32_t getMaximumContextLength(void) const;
+    virtual int32_t getMaximumContextLength() const;
 
     /**
      * Add a rule to this set.  Rules are added in order, and order is
diff --git a/icu4c/source/i18n/rbtz.cpp b/icu4c/source/i18n/rbtz.cpp
index f634d08ca6a..e4d71436c58 100644
--- a/icu4c/source/i18n/rbtz.cpp
+++ b/icu4c/source/i18n/rbtz.cpp
@@ -474,7 +474,7 @@ RuleBasedTimeZone::setRawOffset(int32_t /*offsetMillis*/) {
 }
 
 int32_t
-RuleBasedTimeZone::getRawOffset(void) const {
+RuleBasedTimeZone::getRawOffset() const {
     // Note: This implementation returns standard GMT offset
     // as of current time.
     UErrorCode status = U_ZERO_ERROR;
@@ -484,7 +484,7 @@ RuleBasedTimeZone::getRawOffset(void) const {
 }
 
 UBool
-RuleBasedTimeZone::useDaylightTime(void) const {
+RuleBasedTimeZone::useDaylightTime() const {
     // Note: This implementation returns true when
     // daylight saving time is used as of now or
     // after the next transition.
@@ -620,7 +620,7 @@ RuleBasedTimeZone::getTimeZoneRules(const InitialTimeZoneRule*& initial,
 }
 
 void
-RuleBasedTimeZone::deleteRules(void) {
+RuleBasedTimeZone::deleteRules() {
     delete fInitialRule;
     fInitialRule = nullptr;
     if (fHistoricRules != nullptr) {
@@ -634,7 +634,7 @@ RuleBasedTimeZone::deleteRules(void) {
 }
 
 void
-RuleBasedTimeZone::deleteTransitions(void) {
+RuleBasedTimeZone::deleteTransitions() {
     if (fHistoricTransitions != nullptr) {
         delete fHistoricTransitions;
     }
diff --git a/icu4c/source/i18n/regexst.cpp b/icu4c/source/i18n/regexst.cpp
index dc01327a02c..91032305442 100644
--- a/icu4c/source/i18n/regexst.cpp
+++ b/icu4c/source/i18n/regexst.cpp
@@ -143,7 +143,7 @@ RegexStaticSets::~RegexStaticSets() {
 
 U_CDECL_BEGIN
 static UBool U_CALLCONV
-regex_cleanup(void) {
+regex_cleanup() {
     delete RegexStaticSets::gStaticSets;
     RegexStaticSets::gStaticSets = nullptr;
     gStaticSetsInitOnce.reset();
diff --git a/icu4c/source/i18n/region.cpp b/icu4c/source/i18n/region.cpp
index 3b495d091f5..26440b6593c 100644
--- a/icu4c/source/i18n/region.cpp
+++ b/icu4c/source/i18n/region.cpp
@@ -42,7 +42,7 @@ U_CDECL_BEGIN
 /**
  * Cleanup callback func
  */
-static UBool U_CALLCONV region_cleanup(void)
+static UBool U_CALLCONV region_cleanup()
 {
     icu::Region::cleanupRegionData();
 
diff --git a/icu4c/source/i18n/region_impl.h b/icu4c/source/i18n/region_impl.h
index b6a281393f8..edabc6d0fe3 100644
--- a/icu4c/source/i18n/region_impl.h
+++ b/icu4c/source/i18n/region_impl.h
@@ -32,8 +32,8 @@ public:
      */
     RegionNameEnumeration(UVector *nameList, UErrorCode& status);
     virtual ~RegionNameEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/reldtfmt.h b/icu4c/source/i18n/reldtfmt.h
index c832ebe6531..3af43d49cab 100644
--- a/icu4c/source/i18n/reldtfmt.h
+++ b/icu4c/source/i18n/reldtfmt.h
@@ -233,7 +233,7 @@ public:
      * with this date-time formatter.
      * @internal ICU 4.8
      */
-    virtual const DateFormatSymbols* getDateFormatSymbols(void) const;
+    virtual const DateFormatSymbols* getDateFormatSymbols() const;
 
     /**
      * Set a particular UDisplayContext value in the formatter, such as
@@ -314,7 +314,7 @@ public:
      * @return          The class ID for all objects of this class.
      * @internal ICU 3.8
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
@@ -327,7 +327,7 @@ public:
      *                  other classes have different class IDs.
      * @internal ICU 3.8
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 };
 
 
diff --git a/icu4c/source/i18n/search.cpp b/icu4c/source/i18n/search.cpp
index 9e9192d93e6..ec5028ca81b 100644
--- a/icu4c/source/i18n/search.cpp
+++ b/icu4c/source/i18n/search.cpp
@@ -143,7 +143,7 @@ void SearchIterator::setBreakIterator(BreakIterator *breakiter,
     }
 }
     
-const BreakIterator * SearchIterator::getBreakIterator(void) const
+const BreakIterator * SearchIterator::getBreakIterator() const
 {
     return m_breakiterator_;
 }
@@ -170,7 +170,7 @@ void SearchIterator::setText(CharacterIterator &text, UErrorCode &status)
     }
 }
     
-const UnicodeString & SearchIterator::getText(void) const
+const UnicodeString & SearchIterator::getText() const
 {
     return m_text_;
 }
diff --git a/icu4c/source/i18n/simpletz.cpp b/icu4c/source/i18n/simpletz.cpp
index 4bf9495e46b..8b21152f52f 100644
--- a/icu4c/source/i18n/simpletz.cpp
+++ b/icu4c/source/i18n/simpletz.cpp
@@ -1039,7 +1039,7 @@ SimpleTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTrans
 }
 
 void
-SimpleTimeZone::clearTransitionRules(void) {
+SimpleTimeZone::clearTransitionRules() {
     initialRule = nullptr;
     firstTransition = nullptr;
     stdRule = nullptr;
@@ -1048,7 +1048,7 @@ SimpleTimeZone::clearTransitionRules(void) {
 }
 
 void
-SimpleTimeZone::deleteTransitionRules(void) {
+SimpleTimeZone::deleteTransitionRules() {
     if (initialRule != nullptr) {
         delete initialRule;
     }
diff --git a/icu4c/source/i18n/smpdtfmt.cpp b/icu4c/source/i18n/smpdtfmt.cpp
index 09f3752dcee..e9743157854 100644
--- a/icu4c/source/i18n/smpdtfmt.cpp
+++ b/icu4c/source/i18n/smpdtfmt.cpp
@@ -4096,7 +4096,7 @@ SimpleDateFormat::setDateFormatSymbols(const DateFormatSymbols& newFormatSymbols
 
 //----------------------------------------------------------------------
 const TimeZoneFormat*
-SimpleDateFormat::getTimeZoneFormat(void) const {
+SimpleDateFormat::getTimeZoneFormat() const {
     // TimeZoneFormat initialization might fail when out of memory.
     // If we always initialize TimeZoneFormat instance, we can return
     // such status there. For now, this implementation lazily instantiates
@@ -4222,7 +4222,7 @@ SimpleDateFormat::isFieldUnitIgnored(const UnicodeString& pattern,
 //----------------------------------------------------------------------
 
 const Locale&
-SimpleDateFormat::getSmpFmtLocale(void) const {
+SimpleDateFormat::getSmpFmtLocale() const {
     return fLocale;
 }
 
diff --git a/icu4c/source/i18n/smpdtfst.cpp b/icu4c/source/i18n/smpdtfst.cpp
index 331321bbd6a..9f9166aceba 100644
--- a/icu4c/source/i18n/smpdtfst.cpp
+++ b/icu4c/source/i18n/smpdtfst.cpp
@@ -76,7 +76,7 @@ SimpleDateFormatStaticSets::~SimpleDateFormatStaticSets() {
 //
 //------------------------------------------------------------------------------
 UBool
-SimpleDateFormatStaticSets::cleanup(void)
+SimpleDateFormatStaticSets::cleanup()
 {
     delete gStaticSets;
     gStaticSets = nullptr;
@@ -86,7 +86,7 @@ SimpleDateFormatStaticSets::cleanup(void)
 
 U_CDECL_BEGIN
 static UBool U_CALLCONV
-smpdtfmt_cleanup(void)
+smpdtfmt_cleanup()
 {
     return SimpleDateFormatStaticSets::cleanup();
 }
diff --git a/icu4c/source/i18n/stsearch.cpp b/icu4c/source/i18n/stsearch.cpp
index ee898d5b474..395ce1cdc11 100644
--- a/icu4c/source/i18n/stsearch.cpp
+++ b/icu4c/source/i18n/stsearch.cpp
@@ -227,7 +227,7 @@ void StringSearch::setOffset(int32_t position, UErrorCode &status)
     usearch_setOffset(m_strsrch_, position, &status);
 }
 
-int32_t StringSearch::getOffset(void) const
+int32_t StringSearch::getOffset() const
 {
     return usearch_getOffset(m_strsrch_);
 }
diff --git a/icu4c/source/i18n/taiwncal.h b/icu4c/source/i18n/taiwncal.h
index ab6b6aff099..b0a30f91080 100644
--- a/icu4c/source/i18n/taiwncal.h
+++ b/icu4c/source/i18n/taiwncal.h
@@ -104,7 +104,7 @@ public:
      *           same class ID. Objects of other classes have different class IDs.
      * @internal
      */
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
 
     /**
      * Return the class ID for this class. This is useful only for comparing to a return
@@ -117,7 +117,7 @@ public:
      * @return   The class ID for all objects of this class.
      * @internal
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * return the calendar type, "Taiwan".
diff --git a/icu4c/source/i18n/timezone.cpp b/icu4c/source/i18n/timezone.cpp
index 23eaaf462c0..75479267d75 100644
--- a/icu4c/source/i18n/timezone.cpp
+++ b/icu4c/source/i18n/timezone.cpp
@@ -140,7 +140,7 @@ static icu::UInitOnce gCanonicalZonesInitOnce {};
 static icu::UInitOnce gCanonicalLocationZonesInitOnce {};
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV timeZone_cleanup(void)
+static UBool U_CALLCONV timeZone_cleanup()
 {
     U_NAMESPACE_USE
     delete DEFAULT_ZONE;
@@ -328,7 +328,7 @@ TimeZone::getUnknown()
 }
 
 const TimeZone* U_EXPORT2
-TimeZone::getGMT(void)
+TimeZone::getGMT()
 {
     umtx_initOnce(gStaticZonesInitOnce, &initStaticTimeZones);
     return reinterpret_cast<SimpleTimeZone*>(gRawGMT);
@@ -972,8 +972,8 @@ public:
     }
 
 public:
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 };
 
 TZEnumeration::~TZEnumeration() {
diff --git a/icu4c/source/i18n/translit.cpp b/icu4c/source/i18n/translit.cpp
index ed89bab0afb..29d38b12c7f 100644
--- a/icu4c/source/i18n/translit.cpp
+++ b/icu4c/source/i18n/translit.cpp
@@ -700,7 +700,7 @@ void Transliterator::setMaximumContextLength(int32_t maxContextLength) {
  * @see #registerInstance
  * @see #getAvailableIDs
  */
-const UnicodeString& Transliterator::getID(void) const {
+const UnicodeString& Transliterator::getID() const {
     return ID;
 }
 
@@ -834,7 +834,7 @@ UnicodeString& U_EXPORT2 Transliterator::getDisplayName(const UnicodeString& id,
  * if this transliterator uses no filter.  Caller musn't delete
  * the result!
  */
-const UnicodeFilter* Transliterator::getFilter(void) const {
+const UnicodeFilter* Transliterator::getFilter() const {
     return filter;
 }
 
@@ -844,7 +844,7 @@ const UnicodeFilter* Transliterator::getFilter(void) const {
  * caller must eventually delete the result.  After this call,
  * this transliterator's filter is set to <tt>nullptr</tt>.
  */
-UnicodeFilter* Transliterator::orphanFilter(void) {
+UnicodeFilter* Transliterator::orphanFilter() {
     UnicodeFilter *result = filter;
     filter = nullptr;
     return result;
@@ -1323,7 +1323,7 @@ void U_EXPORT2 Transliterator::unregister(const UnicodeString& ID) {
  * To retrieve the actual IDs, call getAvailableID(i) with
  * i from 0 to countAvailableIDs() - 1.
  */
-int32_t U_EXPORT2 Transliterator::countAvailableIDs(void) {
+int32_t U_EXPORT2 Transliterator::countAvailableIDs() {
     int32_t retVal = 0;
     Mutex lock(&registryMutex);
     UErrorCode ec = U_ZERO_ERROR;
@@ -1365,7 +1365,7 @@ StringEnumeration* U_EXPORT2 Transliterator::getAvailableIDs(UErrorCode& ec) {
     return result;
 }
 
-int32_t U_EXPORT2 Transliterator::countAvailableSources(void) {
+int32_t U_EXPORT2 Transliterator::countAvailableSources() {
     Mutex lock(&registryMutex);
     UErrorCode ec = U_ZERO_ERROR;
     return HAVE_REGISTRY(ec) ? _countAvailableSources() : 0;
@@ -1417,7 +1417,7 @@ UnicodeString& U_EXPORT2 Transliterator::getAvailableVariant(int32_t index,
     return result;
 }
 
-int32_t Transliterator::_countAvailableSources(void) {
+int32_t Transliterator::_countAvailableSources() {
     return registry->countAvailableSources();
 }
 
@@ -1663,7 +1663,7 @@ U_NAMESPACE_END
  * necessarily invalidate any rule-based transliterators held by the
  * user, because RBTs hold pointers to common data objects.
  */
-U_CFUNC UBool utrans_transliterator_cleanup(void) {
+U_CFUNC UBool utrans_transliterator_cleanup() {
     U_NAMESPACE_USE
     TransliteratorIDParser::cleanup();
     if (registry) {
diff --git a/icu4c/source/i18n/transreg.cpp b/icu4c/source/i18n/transreg.cpp
index d16c2585c40..46c68eb74da 100644
--- a/icu4c/source/i18n/transreg.cpp
+++ b/icu4c/source/i18n/transreg.cpp
@@ -727,7 +727,7 @@ void TransliteratorRegistry::remove(const UnicodeString& ID) {
  * To retrieve the actual IDs, call getAvailableID(i) with
  * i from 0 to countAvailableIDs() - 1.
  */
-int32_t TransliteratorRegistry::countAvailableIDs(void) const {
+int32_t TransliteratorRegistry::countAvailableIDs() const {
     return availableIDs.size();
 }
 
@@ -748,7 +748,7 @@ StringEnumeration* TransliteratorRegistry::getAvailableIDs() const {
     return new Enumeration(*this);
 }
 
-int32_t TransliteratorRegistry::countAvailableSources(void) const {
+int32_t TransliteratorRegistry::countAvailableSources() const {
     return specDAG.count();
 }
 
diff --git a/icu4c/source/i18n/transreg.h b/icu4c/source/i18n/transreg.h
index 3fd06935a1d..da9c2ee8b96 100644
--- a/icu4c/source/i18n/transreg.h
+++ b/icu4c/source/i18n/transreg.h
@@ -268,7 +268,7 @@ class TransliteratorRegistry : public UMemory {
      * @return the number of IDs currently registered with the system.
      * @internal
      */
-    int32_t countAvailableIDs(void) const;
+    int32_t countAvailableIDs() const;
 
     /**
      * == OBSOLETE - remove in ICU 3.4 ==
@@ -287,7 +287,7 @@ class TransliteratorRegistry : public UMemory {
      * Return the number of registered source specifiers.
      * @return the number of registered source specifiers.
      */
-    int32_t countAvailableSources(void) const;
+    int32_t countAvailableSources() const;
 
     /**
      * Return a registered source specifier.
@@ -460,7 +460,7 @@ class TransliteratorRegistry : public UMemory {
 
 U_NAMESPACE_END
 
-U_CFUNC UBool utrans_transliterator_cleanup(void);
+U_CFUNC UBool utrans_transliterator_cleanup();
 
 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
 
diff --git a/icu4c/source/i18n/tzfmt.cpp b/icu4c/source/i18n/tzfmt.cpp
index ce83adebd08..7f7d92f8c03 100644
--- a/icu4c/source/i18n/tzfmt.cpp
+++ b/icu4c/source/i18n/tzfmt.cpp
@@ -156,7 +156,7 @@ U_CDECL_BEGIN
 /**
  * Cleanup callback func
  */
-static UBool U_CALLCONV tzfmt_cleanup(void)
+static UBool U_CALLCONV tzfmt_cleanup()
 {
     if (gZoneIdTrie != nullptr) {
         delete gZoneIdTrie;
@@ -198,7 +198,7 @@ public:
 
     FieldType getType() const;
     uint8_t getWidth() const;
-    const char16_t* getPatternText(void) const;
+    const char16_t* getPatternText() const;
 
 private:
     char16_t* fText;
@@ -298,7 +298,7 @@ GMTOffsetField::getWidth() const {
 }
  
 inline const char16_t*
-GMTOffsetField::getPatternText(void) const {
+GMTOffsetField::getPatternText() const {
     return fText;
 }
 
@@ -550,7 +550,7 @@ TimeZoneFormat::setDefaultParseOptions(uint32_t flags) {
 }
 
 uint32_t
-TimeZoneFormat::getDefaultParseOptions(void) const {
+TimeZoneFormat::getDefaultParseOptions() const {
     return fDefParseOptionFlags;
 }
 
diff --git a/icu4c/source/i18n/tzgnames.cpp b/icu4c/source/i18n/tzgnames.cpp
index 5b1cc94ddf8..d55b0fd2ae0 100644
--- a/icu4c/source/i18n/tzgnames.cpp
+++ b/icu4c/source/i18n/tzgnames.cpp
@@ -1136,7 +1136,7 @@ U_CDECL_BEGIN
 /**
  * Cleanup callback func
  */
-static UBool U_CALLCONV tzgnCore_cleanup(void)
+static UBool U_CALLCONV tzgnCore_cleanup()
 {
     if (gTZGNCoreCache != nullptr) {
         uhash_close(gTZGNCoreCache);
diff --git a/icu4c/source/i18n/tznames.cpp b/icu4c/source/i18n/tznames.cpp
index 82afdc488cd..900499fd400 100644
--- a/icu4c/source/i18n/tznames.cpp
+++ b/icu4c/source/i18n/tznames.cpp
@@ -56,7 +56,7 @@ U_CDECL_BEGIN
 /**
  * Cleanup callback func
  */
-static UBool U_CALLCONV timeZoneNames_cleanup(void)
+static UBool U_CALLCONV timeZoneNames_cleanup()
 {
     if (gTimeZoneNamesCache != nullptr) {
         uhash_close(gTimeZoneNamesCache);
diff --git a/icu4c/source/i18n/tznames_impl.cpp b/icu4c/source/i18n/tznames_impl.cpp
index babfdba3ef5..8e52fd90a68 100644
--- a/icu4c/source/i18n/tznames_impl.cpp
+++ b/icu4c/source/i18n/tznames_impl.cpp
@@ -75,7 +75,7 @@ enum UTimeZoneNameTypeIndex {
 static const char16_t* const EMPTY_NAMES[UTZNM_INDEX_COUNT] = {0,0,0,0,0,0,0};
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV tzdbTimeZoneNames_cleanup(void) {
+static UBool U_CALLCONV tzdbTimeZoneNames_cleanup() {
     if (gTZDBNamesMap != nullptr) {
         uhash_close(gTZDBNamesMap);
         gTZDBNamesMap = nullptr;
@@ -864,8 +864,8 @@ public:
     MetaZoneIDsEnumeration(const UVector& mzIDs);
     MetaZoneIDsEnumeration(LocalPointer<UVector> mzIDs);
     virtual ~MetaZoneIDsEnumeration();
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
     virtual const UnicodeString* snext(UErrorCode& status) override;
     virtual void reset(UErrorCode& status) override;
     virtual int32_t count(UErrorCode& status) const override;
diff --git a/icu4c/source/i18n/tzrule.cpp b/icu4c/source/i18n/tzrule.cpp
index f4cd4de3d9b..a3522f1d8b2 100644
--- a/icu4c/source/i18n/tzrule.cpp
+++ b/icu4c/source/i18n/tzrule.cpp
@@ -74,12 +74,12 @@ TimeZoneRule::getName(UnicodeString& name) const {
 }
 
 int32_t
-TimeZoneRule::getRawOffset(void) const {
+TimeZoneRule::getRawOffset() const {
     return fRawOffset;
 }
 
 int32_t
-TimeZoneRule::getDSTSavings(void) const {
+TimeZoneRule::getDSTSavings() const {
     return fDSTSavings;
 }
 
@@ -210,7 +210,7 @@ AnnualTimeZoneRule::~AnnualTimeZoneRule() {
 }
 
 AnnualTimeZoneRule*
-AnnualTimeZoneRule::clone(void) const {
+AnnualTimeZoneRule::clone() const {
     return new AnnualTimeZoneRule(*this);
 }
 
@@ -428,7 +428,7 @@ TimeArrayTimeZoneRule::~TimeArrayTimeZoneRule() {
 }
 
 TimeArrayTimeZoneRule*
-TimeArrayTimeZoneRule::clone(void) const {
+TimeArrayTimeZoneRule::clone() const {
     return new TimeArrayTimeZoneRule(*this);
 }
 
@@ -475,7 +475,7 @@ TimeArrayTimeZoneRule::operator!=(const TimeZoneRule& that) const {
 }
 
 DateTimeRule::TimeRuleType
-TimeArrayTimeZoneRule::getTimeType(void) const {
+TimeArrayTimeZoneRule::getTimeType() const {
     return fTimeRuleType;
 }
 
@@ -489,7 +489,7 @@ TimeArrayTimeZoneRule::getStartTimeAt(int32_t index, UDate& result) const {
 }
 
 int32_t
-TimeArrayTimeZoneRule::countStartTimes(void) const {
+TimeArrayTimeZoneRule::countStartTimes() const {
     return fNumStartTimes;
 }
 
diff --git a/icu4c/source/i18n/tztrans.cpp b/icu4c/source/i18n/tztrans.cpp
index de6142deb6b..dbce3422020 100644
--- a/icu4c/source/i18n/tztrans.cpp
+++ b/icu4c/source/i18n/tztrans.cpp
@@ -49,7 +49,7 @@ TimeZoneTransition::~TimeZoneTransition() {
 }
 
 TimeZoneTransition*
-TimeZoneTransition::clone(void) const {
+TimeZoneTransition::clone() const {
     return new TimeZoneTransition(*this);
 }
 
@@ -127,17 +127,17 @@ TimeZoneTransition::adoptTo(TimeZoneRule* to) {
 }
 
 UDate
-TimeZoneTransition::getTime(void) const {
+TimeZoneTransition::getTime() const {
     return fTime;
 }
 
 const TimeZoneRule*
-TimeZoneTransition::getTo(void) const {
+TimeZoneTransition::getTo() const {
     return fTo;
 }
 
 const TimeZoneRule*
-TimeZoneTransition::getFrom(void) const {
+TimeZoneTransition::getFrom() const {
     return fFrom;
 }
 
diff --git a/icu4c/source/i18n/ucln_in.cpp b/icu4c/source/i18n/ucln_in.cpp
index dc8db1f78b5..a67487bcc6c 100644
--- a/icu4c/source/i18n/ucln_in.cpp
+++ b/icu4c/source/i18n/ucln_in.cpp
@@ -30,7 +30,7 @@ static const char copyright[] = U_COPYRIGHT_STRING;
 
 static cleanupFunc *gCleanupFunctions[UCLN_I18N_COUNT];
 
-static UBool U_CALLCONV i18n_cleanup(void)
+static UBool U_CALLCONV i18n_cleanup()
 {
     int32_t libType = UCLN_I18N_START;
     (void)copyright;   /* Suppress unused variable warning with clang. */
diff --git a/icu4c/source/i18n/usearch.cpp b/icu4c/source/i18n/usearch.cpp
index a2cdfc0ea59..6d9b60cef72 100644
--- a/icu4c/source/i18n/usearch.cpp
+++ b/icu4c/source/i18n/usearch.cpp
@@ -74,7 +74,7 @@ inline uint32_t getMask(UCollationStrength strength)
 
 U_CDECL_BEGIN
 static UBool U_CALLCONV
-usearch_cleanup(void) {
+usearch_cleanup() {
     g_nfcImpl = nullptr;
     return true;
 }
diff --git a/icu4c/source/i18n/uspoof.cpp b/icu4c/source/i18n/uspoof.cpp
index 3df63e5b84f..271caeafff9 100644
--- a/icu4c/source/i18n/uspoof.cpp
+++ b/icu4c/source/i18n/uspoof.cpp
@@ -46,7 +46,7 @@ static UInitOnce gSpoofInitStaticsOnce {};
 namespace {
 
 UBool U_CALLCONV
-uspoof_cleanup(void) {
+uspoof_cleanup() {
     delete gInclusionSet;
     gInclusionSet = nullptr;
     delete gRecommendedSet;
diff --git a/icu4c/source/i18n/uspoof_impl.cpp b/icu4c/source/i18n/uspoof_impl.cpp
index ff1928598ab..7a6084a1096 100644
--- a/icu4c/source/i18n/uspoof_impl.cpp
+++ b/icu4c/source/i18n/uspoof_impl.cpp
@@ -542,7 +542,7 @@ static UInitOnce gSpoofInitDefaultOnce {};
 static SpoofData* gDefaultSpoofData;
 
 static UBool U_CALLCONV
-uspoof_cleanupDefaultData(void) {
+uspoof_cleanupDefaultData() {
     if (gDefaultSpoofData) {
         // Will delete, assuming all user-level spoof checkers were closed.
         gDefaultSpoofData->removeReference();
diff --git a/icu4c/source/i18n/uspoof_impl.h b/icu4c/source/i18n/uspoof_impl.h
index 997b902f5c7..3bdaf76e299 100644
--- a/icu4c/source/i18n/uspoof_impl.h
+++ b/icu4c/source/i18n/uspoof_impl.h
@@ -93,8 +93,8 @@ public:
     /** parse a hex number.  Untility used by the builders.   */
     static UChar32 ScanHex(const char16_t *s, int32_t start, int32_t limit, UErrorCode &status);
 
-    static UClassID U_EXPORT2 getStaticClassID(void);
-    virtual UClassID getDynamicClassID(void) const override;
+    static UClassID U_EXPORT2 getStaticClassID();
+    virtual UClassID getDynamicClassID() const override;
 
     //
     // Data Members
diff --git a/icu4c/source/i18n/utrans.cpp b/icu4c/source/i18n/utrans.cpp
index 70bf5a37d63..390335f3342 100644
--- a/icu4c/source/i18n/utrans.cpp
+++ b/icu4c/source/i18n/utrans.cpp
@@ -291,7 +291,7 @@ utrans_setFilter(UTransliterator* trans,
 }
 
 U_CAPI int32_t U_EXPORT2
-utrans_countAvailableIDs(void) {
+utrans_countAvailableIDs() {
     return Transliterator::countAvailableIDs();
 }
 
diff --git a/icu4c/source/i18n/vtzone.cpp b/icu4c/source/i18n/vtzone.cpp
index 317457829e5..25af556aa22 100644
--- a/icu4c/source/i18n/vtzone.cpp
+++ b/icu4c/source/i18n/vtzone.cpp
@@ -926,7 +926,7 @@ public:
     VTZReader(const UnicodeString& input);
     ~VTZReader();
 
-    char16_t read(void);
+    char16_t read();
 private:
     const UnicodeString* in;
     int32_t index;
@@ -941,7 +941,7 @@ VTZReader::~VTZReader() {
 }
 
 char16_t
-VTZReader::read(void) {
+VTZReader::read() {
     char16_t ch = 0xFFFF;
     if (index < in->length()) {
         ch = in->charAt(index);
@@ -1220,12 +1220,12 @@ VTimeZone::setRawOffset(int32_t offsetMillis) {
 }
 
 int32_t
-VTimeZone::getRawOffset(void) const {
+VTimeZone::getRawOffset() const {
     return tz->getRawOffset();
 }
 
 UBool
-VTimeZone::useDaylightTime(void) const {
+VTimeZone::useDaylightTime() const {
     return tz->useDaylightTime();
 }
 
diff --git a/icu4c/source/i18n/windtfmt.h b/icu4c/source/i18n/windtfmt.h
index 7fe7f68f450..0c3f5427852 100644
--- a/icu4c/source/i18n/windtfmt.h
+++ b/icu4c/source/i18n/windtfmt.h
@@ -99,7 +99,7 @@ public:
      * </pre>
      * @return          The class ID for all objects of this class.
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
@@ -111,7 +111,7 @@ public:
      *                  given class have the same class ID.  Objects of
      *                  other classes have different class IDs.
      */
-    virtual UClassID getDynamicClassID(void) const;
+    virtual UClassID getDynamicClassID() const;
 
 private:
     void formatDate(const SYSTEMTIME *st, UnicodeString &appendTo) const;
diff --git a/icu4c/source/i18n/winnmfmt.h b/icu4c/source/i18n/winnmfmt.h
index 99571d20138..1cf87f4d2c0 100644
--- a/icu4c/source/i18n/winnmfmt.h
+++ b/icu4c/source/i18n/winnmfmt.h
@@ -132,7 +132,7 @@ public:
      * </pre>
      * @return          The class ID for all objects of this class.
      */
-    U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
+    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
 
     /**
      * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
@@ -144,7 +144,7 @@ public:
      *                  given class have the same class ID.  Objects of
      *                  other classes have different class IDs.
      */
-    virtual UClassID getDynamicClassID(void) const;
+    virtual UClassID getDynamicClassID() const;
 
 private:
     UnicodeString &format(int32_t numDigits, UnicodeString &appendTo, const wchar_t *format, ...) const;
diff --git a/icu4c/source/i18n/zonemeta.cpp b/icu4c/source/i18n/zonemeta.cpp
index 749b6d95202..42051e2f416 100644
--- a/icu4c/source/i18n/zonemeta.cpp
+++ b/icu4c/source/i18n/zonemeta.cpp
@@ -55,7 +55,7 @@ U_CDECL_BEGIN
 /**
  * Cleanup callback func
  */
-static UBool U_CALLCONV zoneMeta_cleanup(void)
+static UBool U_CALLCONV zoneMeta_cleanup()
 {
     if (gCanonicalIDCache != nullptr) {
         uhash_close(gCanonicalIDCache);
diff --git a/icu4c/source/io/locbund.cpp b/icu4c/source/io/locbund.cpp
index 3832b917d63..3f6d6309ac0 100644
--- a/icu4c/source/io/locbund.cpp
+++ b/icu4c/source/io/locbund.cpp
@@ -35,7 +35,7 @@
 static UNumberFormat *gPosixNumberFormat[ULOCALEBUNDLE_NUMBERFORMAT_COUNT];
 
 U_CDECL_BEGIN
-static UBool U_CALLCONV locbund_cleanup(void) {
+static UBool U_CALLCONV locbund_cleanup() {
     int32_t style;
     for (style = 0; style < ULOCALEBUNDLE_NUMBERFORMAT_COUNT; style++) {
         unum_close(gPosixNumberFormat[style]);
diff --git a/icu4c/source/io/ucln_io.cpp b/icu4c/source/io/ucln_io.cpp
index 28c42d31576..e2ddb358700 100644
--- a/icu4c/source/io/ucln_io.cpp
+++ b/icu4c/source/io/ucln_io.cpp
@@ -36,7 +36,7 @@ static const char copyright[] = U_COPYRIGHT_STRING;
 
 static cleanupFunc *gCleanupFunctions[UCLN_IO_COUNT];
 
-static UBool U_CALLCONV io_cleanup(void)
+static UBool U_CALLCONV io_cleanup()
 {
     int32_t libType = UCLN_IO_START;
 
diff --git a/icu4c/source/io/uprintf.cpp b/icu4c/source/io/uprintf.cpp
index 66f30a422cf..7effa61993f 100644
--- a/icu4c/source/io/uprintf.cpp
+++ b/icu4c/source/io/uprintf.cpp
@@ -43,7 +43,7 @@ U_NAMESPACE_USE
 static UFILE *gStdOut = nullptr;
 static UInitOnce gStdOutInitOnce {};
 
-static UBool U_CALLCONV uprintf_cleanup(void)
+static UBool U_CALLCONV uprintf_cleanup()
 {
     if (gStdOut != nullptr) {
         u_fclose(gStdOut);
diff --git a/icu4c/source/samples/break/break.cpp b/icu4c/source/samples/break/break.cpp
index 8678441220d..9df7cd4b27b 100644
--- a/icu4c/source/samples/break/break.cpp
+++ b/icu4c/source/samples/break/break.cpp
@@ -19,7 +19,7 @@
 
 using namespace icu;
 
-U_CFUNC int c_main(void);
+U_CFUNC int c_main();
 
 void printUnicodeString(const UnicodeString &s) {
     char charBuf[1000];
@@ -96,7 +96,7 @@ void printAt(BreakIterator &boundary, int32_t pos )
 }
 
 /* Creating and using text boundaries */
-int main( void )
+int main()
 {
     puts("ICU Break Iterator Sample Program\n");
     puts("C++ Break Iteration\n");
diff --git a/icu4c/source/samples/case/case.cpp b/icu4c/source/samples/case/case.cpp
index 38174925036..578e18436d1 100644
--- a/icu4c/source/samples/case/case.cpp
+++ b/icu4c/source/samples/case/case.cpp
@@ -28,7 +28,7 @@ void printUnicodeString(UFILE *out, const UnicodeString &s) {
 }
 
 
-int main( void )
+int main()
 {
     UFILE *out;
     UErrorCode status  = U_ZERO_ERROR;
diff --git a/icu4c/source/samples/citer/citer.cpp b/icu4c/source/samples/citer/citer.cpp
index 842d6e2b890..d9a095f3f30 100644
--- a/icu4c/source/samples/citer/citer.cpp
+++ b/icu4c/source/samples/citer/citer.cpp
@@ -180,7 +180,7 @@ void Test::TestStringiter() {
 }
 
 /* Creating and using text boundaries */
-int main( void )
+int main()
 {
     UErrorCode status = U_ZERO_ERROR;
 
diff --git a/icu4c/source/samples/datecal/cal.cpp b/icu4c/source/samples/datecal/cal.cpp
index f8c0ef500bc..3af2fe1a3ba 100644
--- a/icu4c/source/samples/datecal/cal.cpp
+++ b/icu4c/source/samples/datecal/cal.cpp
@@ -62,7 +62,7 @@ void cpp_main()
                 
 
 /* Creating and using text boundaries */
-int main( void )
+int main()
 {
   puts("Date-Calendar sample program");
 
diff --git a/icu4c/source/samples/legacy/newcol.cpp b/icu4c/source/samples/legacy/newcol.cpp
index 6ca48835d93..89dbfd51973 100644
--- a/icu4c/source/samples/legacy/newcol.cpp
+++ b/icu4c/source/samples/legacy/newcol.cpp
@@ -65,7 +65,7 @@ void initCollator_current(const char *locale) {
   compareCollator = ucol_open(locale, &status);
 }
 
-void closeCollator_current(void) {
+void closeCollator_current() {
   ucol_close(compareCollator);
   compareCollator = nullptr;
 }
diff --git a/icu4c/source/samples/legacy/oldcol.cpp b/icu4c/source/samples/legacy/oldcol.cpp
index 3dcb9c3b59d..01ad0b86fb7 100644
--- a/icu4c/source/samples/legacy/oldcol.cpp
+++ b/icu4c/source/samples/legacy/oldcol.cpp
@@ -74,7 +74,7 @@ void initCollator_legacy(const char *locale) {
   }
 }
 
-void closeCollator_legacy(void) {
+void closeCollator_legacy() {
   if(compareCollator != nullptr)
   {
     ucol_close(compareCollator);
diff --git a/icu4c/source/samples/translit/unaccent.h b/icu4c/source/samples/translit/unaccent.h
index dd14de48eb2..aa27a56dd2a 100644
--- a/icu4c/source/samples/translit/unaccent.h
+++ b/icu4c/source/samples/translit/unaccent.h
@@ -58,7 +58,7 @@ public:
      * @return          The class ID for all objects of this class.
      * @stable ICU 2.0
      */
-    static inline UClassID getStaticClassID(void) { return (UClassID)&fgClassID; };
+    static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; };
 
     /**
      * Returns a unique class ID <b>polymorphically</b>.  This method
@@ -83,7 +83,7 @@ public:
      * different class IDs.
      * @stable ICU 2.0
      */
-    virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); };
+    virtual UClassID getDynamicClassID() const { return getStaticClassID(); };
 
 private:
 
diff --git a/icu4c/source/test/intltest/allcoll.cpp b/icu4c/source/test/intltest/allcoll.cpp
index c070a60c3fc..6221965cfc3 100644
--- a/icu4c/source/test/intltest/allcoll.cpp
+++ b/icu4c/source/test/intltest/allcoll.cpp
@@ -153,7 +153,7 @@ void CollationDummyTest::TestIdentical()
     }
 }
 
-void CollationDummyTest::TestJB581(void)
+void CollationDummyTest::TestJB581()
 {
     UErrorCode status = U_ZERO_ERROR;
 
diff --git a/icu4c/source/test/intltest/apicoll.cpp b/icu4c/source/test/intltest/apicoll.cpp
index 020c413b352..e35b763c56a 100644
--- a/icu4c/source/test/intltest/apicoll.cpp
+++ b/icu4c/source/test/intltest/apicoll.cpp
@@ -1781,7 +1781,7 @@ compare_teststruct(const void *string1, const void *string2) {
 U_CDECL_END
 
 
-void CollationAPITest::TestBounds(void) {
+void CollationAPITest::TestBounds() {
     UErrorCode status = U_ZERO_ERROR;
 
     Collator *coll = Collator::createInstance(Locale("sh"), status);
@@ -2023,11 +2023,11 @@ public:
                                           int32_t sourceLength,
                                           CollationKey& key,
                                           UErrorCode& status) const override;
-    virtual int32_t hashCode(void) const override;
+    virtual int32_t hashCode() const override;
     virtual Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const override;
-    virtual ECollationStrength getStrength(void) const override;
+    virtual ECollationStrength getStrength() const override;
     virtual void setStrength(ECollationStrength newStrength) override;
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
     virtual void getVersion(UVersionInfo info) const override;
     virtual void setAttribute(UColAttribute attr, UColAttributeValue value, 
                               UErrorCode &status) override;
@@ -2169,7 +2169,7 @@ void TestCollator::setStrength(Collator::ECollationStrength newStrength)
     (void)newStrength;
 }
 
-UClassID TestCollator::getDynamicClassID(void) const
+UClassID TestCollator::getDynamicClassID() const
 {
     return 0;
 }
diff --git a/icu4c/source/test/intltest/astrotst.cpp b/icu4c/source/test/intltest/astrotst.cpp
index 5a52c136aaf..847dce65a33 100644
--- a/icu4c/source/test/intltest/astrotst.cpp
+++ b/icu4c/source/test/intltest/astrotst.cpp
@@ -80,7 +80,7 @@ void AstroTest::closeAstro(UErrorCode &/*status*/) {
   }
 }
 
-void AstroTest::TestSolarLongitude(void) {
+void AstroTest::TestSolarLongitude() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   ASSERT_OK(status);
@@ -111,7 +111,7 @@ void AstroTest::TestSolarLongitude(void) {
 
 
 
-void AstroTest::TestLunarPosition(void) {
+void AstroTest::TestLunarPosition() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   ASSERT_OK(status);
@@ -136,7 +136,7 @@ void AstroTest::TestLunarPosition(void) {
 
 
 
-void AstroTest::TestCoordinates(void) {
+void AstroTest::TestCoordinates() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   ASSERT_OK(status);
@@ -150,7 +150,7 @@ void AstroTest::TestCoordinates(void) {
 
 
 
-void AstroTest::TestCoverage(void) {
+void AstroTest::TestCoverage() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   ASSERT_OK(status);
@@ -212,7 +212,7 @@ void AstroTest::TestCoverage(void) {
 
 
 
-void AstroTest::TestSunriseTimes(void) {
+void AstroTest::TestSunriseTimes() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   ASSERT_OK(status);
@@ -370,7 +370,7 @@ void AstroTest::TestSunriseTimes(void) {
 
 
 
-void AstroTest::TestBasics(void) {
+void AstroTest::TestBasics() {
   UErrorCode status = U_ZERO_ERROR;
   initAstro(status);
   if (U_FAILURE(status)) {
@@ -433,7 +433,7 @@ void AstroTest::TestBasics(void) {
 
 }
 
-void AstroTest::TestMoonAge(void){
+void AstroTest::TestMoonAge(){
 	UErrorCode status = U_ZERO_ERROR;
 	initAstro(status);
 	ASSERT_OK(status);
diff --git a/icu4c/source/test/intltest/astrotst.h b/icu4c/source/test/intltest/astrotst.h
index 5d014392337..236c16fd88a 100644
--- a/icu4c/source/test/intltest/astrotst.h
+++ b/icu4c/source/test/intltest/astrotst.h
@@ -26,19 +26,19 @@ public:
 public:
     AstroTest();
 
-    void TestSolarLongitude(void);
+    void TestSolarLongitude();
 
-    void TestLunarPosition(void);
+    void TestLunarPosition();
 
-    void TestCoordinates(void);
+    void TestCoordinates();
 
-    void TestCoverage(void);
+    void TestCoverage();
 
-    void TestSunriseTimes(void);
+    void TestSunriseTimes();
 
-    void TestBasics(void);
+    void TestBasics();
     
-    void TestMoonAge(void);
+    void TestMoonAge();
  private:
     void initAstro(UErrorCode&);
     void closeAstro(UErrorCode&);
diff --git a/icu4c/source/test/intltest/callimts.cpp b/icu4c/source/test/intltest/callimts.cpp
index 1752b2552f1..bfb946db4ef 100644
--- a/icu4c/source/test/intltest/callimts.cpp
+++ b/icu4c/source/test/intltest/callimts.cpp
@@ -191,7 +191,7 @@ struct {
 }  // anonymous name space
 
 void
-CalendarLimitTest::TestLimits(void) {
+CalendarLimitTest::TestLimits() {
     gTestCaseIterator.reset();
 
     ThreadPool<CalendarLimitTest> threads(this, threadCount, &CalendarLimitTest::TestLimitsThread);
diff --git a/icu4c/source/test/intltest/callimts.h b/icu4c/source/test/intltest/callimts.h
index 82c50828c32..3557a73ef42 100644
--- a/icu4c/source/test/intltest/callimts.h
+++ b/icu4c/source/test/intltest/callimts.h
@@ -35,9 +35,9 @@ public: // package
 
 public:
     // test behaviour and error reporting at boundaries of defined range
-    virtual void TestCalendarExtremeLimit(void);
+    virtual void TestCalendarExtremeLimit();
 
-    void TestLimits(void);
+    void TestLimits();
     void TestLimitsThread(int32_t threadNumber);
 
 private:
diff --git a/icu4c/source/test/intltest/calregts.cpp b/icu4c/source/test/intltest/calregts.cpp
index ed893c2950d..da458413e90 100644
--- a/icu4c/source/test/intltest/calregts.cpp
+++ b/icu4c/source/test/intltest/calregts.cpp
@@ -2298,7 +2298,7 @@ void CalendarRegressionTest::TestJ81() {
 /**
  * Test fieldDifference().
  */
-void CalendarRegressionTest::TestJ438(void) {
+void CalendarRegressionTest::TestJ438() {
     UErrorCode ec = U_ZERO_ERROR;
     int32_t DATA[] = {
         2000, UCAL_JANUARY, 20,   2010, UCAL_JUNE, 15,
@@ -2772,7 +2772,7 @@ CalendarRegressionTest::makeDate(int32_t y, int32_t m, int32_t d,
     return result;
 }
 
-void CalendarRegressionTest::TestDeprecates(void)
+void CalendarRegressionTest::TestDeprecates()
 {
     UErrorCode status = U_ZERO_ERROR;
     Calendar *c1 = Calendar::createInstance("ja_JP@calendar=japanese",status);
@@ -2868,7 +2868,7 @@ void CalendarRegressionTest::TestDeprecates(void)
 
 }
 
-void CalendarRegressionTest::TestT8057(void) {
+void CalendarRegressionTest::TestT8057() {
     // Set the calendar to the last day in a leap year
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar *cal = dynamic_cast<GregorianCalendar*>(Calendar::createInstance(status));
@@ -2907,7 +2907,7 @@ void CalendarRegressionTest::TestT8057(void) {
 // Test case for ticket#8596.
 // Setting an year followed by getActualMaximum(Calendar.WEEK_OF_YEAR)
 // may result wrong maximum week.
-void CalendarRegressionTest::TestT8596(void) {
+void CalendarRegressionTest::TestT8596() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar *gc = new GregorianCalendar(*TimeZone::getGMT(), status);
 
@@ -2949,7 +2949,7 @@ void CalendarRegressionTest::TestT8596(void) {
 
 // Test case for ticket 9452
 // Calendar addition fall onto the missing date - 2011-12-30 in Samoa
-void CalendarRegressionTest::TestT9452(void) {
+void CalendarRegressionTest::TestT9452() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar cal(TimeZone::createTimeZone("Pacific/Apia"), status);
     failure(status, "initializing GregorianCalendar");
@@ -2994,7 +2994,7 @@ void CalendarRegressionTest::TestT9452(void) {
 /**
  * @bug ticket 11632
  */
-void CalendarRegressionTest::TestT11632(void) {
+void CalendarRegressionTest::TestT11632() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar cal(TimeZone::createTimeZone("Pacific/Apia"), status);
     if(U_FAILURE(status)) {
@@ -3034,7 +3034,7 @@ void CalendarRegressionTest::TestT11632(void) {
 /**
  * @bug ticket 13454
  */
-void CalendarRegressionTest::TestPersianCalOverflow(void) {
+void CalendarRegressionTest::TestPersianCalOverflow() {
     const char* localeID = "bs_Cyrl@calendar=persian";
     UErrorCode status = U_ZERO_ERROR;
     Calendar* cal = Calendar::createInstance(Locale(localeID), status);
@@ -3064,7 +3064,7 @@ void CalendarRegressionTest::TestPersianCalOverflow(void) {
 /**
  * @bug tickets 12661, 13538
  */
-void CalendarRegressionTest::TestIslamicCalOverflow(void) {
+void CalendarRegressionTest::TestIslamicCalOverflow() {
     const char* localeID = "ar@calendar=islamic-civil";
     UErrorCode status = U_ZERO_ERROR;
     Calendar* cal = Calendar::createInstance(Locale(localeID), status);
@@ -3183,7 +3183,7 @@ void CalendarRegressionTest::VerifyGetStayInBound(double time) {
     }
 }
 
-void CalendarRegressionTest::TestUTCWrongAMPM22023(void) {
+void CalendarRegressionTest::TestUTCWrongAMPM22023() {
     VerifyGetStayInBound(-1);
     VerifyGetStayInBound(0);
     VerifyGetStayInBound(-1e-8);
@@ -3211,7 +3211,7 @@ void CalendarRegressionTest::VerifyNoAssertWithSetGregorianChange(const char* ti
     cal->get(UCAL_YEAR, status);
 }
 
-void CalendarRegressionTest::TestAsiaManilaAfterSetGregorianChange22043(void) {
+void CalendarRegressionTest::TestAsiaManilaAfterSetGregorianChange22043() {
     VerifyNoAssertWithSetGregorianChange("Asia/Malina");
     UErrorCode status = U_ZERO_ERROR;
     std::unique_ptr<StringEnumeration> ids(TimeZone::createEnumeration(status));
@@ -3225,7 +3225,7 @@ void CalendarRegressionTest::TestAsiaManilaAfterSetGregorianChange22043(void) {
     }
 }
 
-void CalendarRegressionTest::TestWeekOfYear13548(void) {
+void CalendarRegressionTest::TestWeekOfYear13548() {
     int32_t year = 2000;
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(Calendar::createInstance(status));
@@ -3241,7 +3241,7 @@ void CalendarRegressionTest::TestWeekOfYear13548(void) {
     }
 }
 
-void CalendarRegressionTest::TestRespectUExtensionFw(void) { // ICU-22226
+void CalendarRegressionTest::TestRespectUExtensionFw() { // ICU-22226
     static const char* LOCALE_IDS[] = {
         "en-US",
         "en-US-u-fw-xyz",
diff --git a/icu4c/source/test/intltest/calregts.h b/icu4c/source/test/intltest/calregts.h
index 174c10c006c..0dab3c2bebc 100644
--- a/icu4c/source/test/intltest/calregts.h
+++ b/icu4c/source/test/intltest/calregts.h
@@ -25,67 +25,67 @@ class CalendarRegressionTest: public IntlTest {
     // IntlTest override
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
-    void test4100311(void);
-    void test4074758(void);
-    void test4028518(void);
-    void test4031502(void) ;
-    void test4035301(void) ;
-    void test4040996(void) ;
-    void test4051765(void) ;
-    void test4059654(void) ;
-    void test4061476(void) ;
-    void test4070502(void) ;
-    void test4071197(void) ;
-    void test4071385(void) ;
-    void test4073929(void) ;
-    void test4083167(void) ;
-    void test4086724(void) ;
-    void test4092362(void) ;
-    void test4095407(void) ;
-    void test4096231(void) ;
-    void test4096539(void) ;
-    void test41003112(void) ;
-    void test4103271(void) ;
-    void test4106136(void) ;
-    void test4108764(void) ;
-    void test4114578(void) ;
-    void test4118384(void) ;
-    void test4125881(void) ;
-    void test4125892(void) ;
-    void test4141665(void) ;
-    void test4142933(void) ;
-    void test4145158(void) ;
-    void test4145983(void) ;
-    void test4147269(void) ;
+    void test4100311();
+    void test4074758();
+    void test4028518();
+    void test4031502() ;
+    void test4035301() ;
+    void test4040996() ;
+    void test4051765() ;
+    void test4059654() ;
+    void test4061476() ;
+    void test4070502() ;
+    void test4071197() ;
+    void test4071385() ;
+    void test4073929() ;
+    void test4083167() ;
+    void test4086724() ;
+    void test4092362() ;
+    void test4095407() ;
+    void test4096231() ;
+    void test4096539() ;
+    void test41003112() ;
+    void test4103271() ;
+    void test4106136() ;
+    void test4108764() ;
+    void test4114578() ;
+    void test4118384() ;
+    void test4125881() ;
+    void test4125892() ;
+    void test4141665() ;
+    void test4142933() ;
+    void test4145158() ;
+    void test4145983() ;
+    void test4147269() ;
 
-    void Test4149677(void) ;
-    void Test4162587(void) ;
-    void Test4165343(void) ;
-    void Test4166109(void) ;
-    void Test4167060(void) ;
-    void Test4197699(void);
-    void TestJ81(void);
-    void TestJ438(void);
-    void TestT5555(void);
-    void TestT6745(void);
-	void TestT8057(void);
-    void TestLeapFieldDifference(void);
-    void TestMalaysianInstance(void);
-    void TestWeekShift(void);
-    void TestTimeZoneTransitionAdd(void);
-    void TestDeprecates(void);
-    void TestT8596(void);
-    void Test9019(void);
-    void TestT9452(void);
-    void TestT11632(void);
-    void TestPersianCalOverflow(void);
-    void TestIslamicCalOverflow(void);
-    void TestWeekOfYear13548(void);
-    void TestUTCWrongAMPM22023(void);
-    void TestAsiaManilaAfterSetGregorianChange22043(void);
+    void Test4149677() ;
+    void Test4162587() ;
+    void Test4165343() ;
+    void Test4166109() ;
+    void Test4167060() ;
+    void Test4197699();
+    void TestJ81();
+    void TestJ438();
+    void TestT5555();
+    void TestT6745();
+	void TestT8057();
+    void TestLeapFieldDifference();
+    void TestMalaysianInstance();
+    void TestWeekShift();
+    void TestTimeZoneTransitionAdd();
+    void TestDeprecates();
+    void TestT8596();
+    void Test9019();
+    void TestT9452();
+    void TestT11632();
+    void TestPersianCalOverflow();
+    void TestIslamicCalOverflow();
+    void TestWeekOfYear13548();
+    void TestUTCWrongAMPM22023();
+    void TestAsiaManilaAfterSetGregorianChange22043();
 
-    void Test13745(void);
-    void TestRespectUExtensionFw(void);
+    void Test13745();
+    void TestRespectUExtensionFw();
 
     void printdate(GregorianCalendar *cal, const char *string);
     void dowTest(UBool lenient) ;
diff --git a/icu4c/source/test/intltest/caltest.cpp b/icu4c/source/test/intltest/caltest.cpp
index 0df7a48c558..7518f1123a7 100644
--- a/icu4c/source/test/intltest/caltest.cpp
+++ b/icu4c/source/test/intltest/caltest.cpp
@@ -1602,7 +1602,7 @@ CalendarTest::marchByDelta(Calendar* cal, int32_t delta)
     } \
 } UPRV_BLOCK_MACRO_END
 
-void CalendarTest::TestWOY(void) {
+void CalendarTest::TestWOY() {
     /*
       FDW = Mon, MDFW = 4:
          Sun Dec 26 1999, WOY 51
@@ -2244,7 +2244,7 @@ void CalendarTest::TestISO8601() {
 }
 
 void
-CalendarTest::TestAmbiguousWallTimeAPIs(void) {
+CalendarTest::TestAmbiguousWallTimeAPIs() {
     UErrorCode status = U_ZERO_ERROR;
     Calendar* cal = Calendar::createInstance(status);
     if (U_FAILURE(status)) {
@@ -2405,7 +2405,7 @@ static const RepeatedWallTimeTestData RPDATA[] =
     {nullptr,                  CalFields(0,0,0,0,0,0),         CalFields(0,0,0,0,0,0),          CalFields(0,0,0,0,0,0)}
 };
 
-void CalendarTest::TestRepeatedWallTime(void) {
+void CalendarTest::TestRepeatedWallTime() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar calGMT((const TimeZone&)*TimeZone::getGMT(), status);
     GregorianCalendar calDefault(status);
@@ -2504,7 +2504,7 @@ static SkippedWallTimeTestData SKDATA[] =
 };
 
 
-void CalendarTest::TestSkippedWallTime(void) {
+void CalendarTest::TestSkippedWallTime() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar calGMT((const TimeZone&)*TimeZone::getGMT(), status);
     GregorianCalendar calDefault(status);
@@ -2630,7 +2630,7 @@ void CalendarTest::TestSkippedWallTime(void) {
     }
 }
 
-void CalendarTest::TestCloneLocale(void) {
+void CalendarTest::TestCloneLocale() {
   UErrorCode status = U_ZERO_ERROR;
   LocalPointer<Calendar>  cal(Calendar::createInstance(TimeZone::getGMT()->clone(),
                                                        Locale::createFromName("en"), status));
@@ -2645,7 +2645,7 @@ void CalendarTest::TestCloneLocale(void) {
   TEST_CHECK_STATUS;
 }
 
-void CalendarTest::TestTimeZoneInLocale(void) {
+void CalendarTest::TestTimeZoneInLocale() {
     const char *tests[][3]  = {
         { "en-u-tz-usden",                     "America/Denver",             "gregorian" },
         { "es-u-tz-usden",                     "America/Denver",             "gregorian" },
@@ -2730,7 +2730,7 @@ void CalendarTest::AsssertCalendarFieldValue(
 
 static constexpr double test_time = 1667277891323; // Nov 1, 2022 4:44:51 GMT
 
-void CalendarTest::TestBasicConversionGregorian(void) {
+void CalendarTest::TestBasicConversionGregorian() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=gregorian"), status));
@@ -2743,7 +2743,7 @@ void CalendarTest::TestBasicConversionGregorian(void) {
         1, 2022, 10, 45, 1, 1, 305, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 2022, 3, 2022, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionISO8601(void) {
+void CalendarTest::TestBasicConversionISO8601() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=iso8601"), status));
@@ -2756,7 +2756,7 @@ void CalendarTest::TestBasicConversionISO8601(void) {
         1, 2022, 10, 44, 1, 1, 305, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 2022, 2, 2022, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionJapanese(void) {
+void CalendarTest::TestBasicConversionJapanese() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=japanese"), status));
@@ -2769,7 +2769,7 @@ void CalendarTest::TestBasicConversionJapanese(void) {
         236, 4, 10, 45, 1, 1, 305, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 2022, 3, 2022, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionBuddhist(void) {
+void CalendarTest::TestBasicConversionBuddhist() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=buddhist"), status));
@@ -2782,7 +2782,7 @@ void CalendarTest::TestBasicConversionBuddhist(void) {
         0, 2565, 10, 45, 1, 1, 305, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 2022, 3, 2022, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionTaiwan(void) {
+void CalendarTest::TestBasicConversionTaiwan() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=roc"), status));
@@ -2796,7 +2796,7 @@ void CalendarTest::TestBasicConversionTaiwan(void) {
         323, 0, 0, 2022, 3, 2022, 2459885, 17091323, 0);
 
 }
-void CalendarTest::TestBasicConversionPersian(void) {
+void CalendarTest::TestBasicConversionPersian() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=persian"), status));
@@ -2809,7 +2809,7 @@ void CalendarTest::TestBasicConversionPersian(void) {
         0, 1401, 7, 33, 2, 10, 226, 3, 2, 0, 4, 4, 44, 51,
         323, 0, 0, 1401, 3, 1401, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionIslamic(void) {
+void CalendarTest::TestBasicConversionIslamic() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=islamic"), status));
@@ -2822,7 +2822,7 @@ void CalendarTest::TestBasicConversionIslamic(void) {
         0, 1444, 3, 15, 2, 7, 96, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 1444, 3, 1444, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionIslamicTBLA(void) {
+void CalendarTest::TestBasicConversionIslamicTBLA() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=islamic-tbla"), status));
@@ -2836,7 +2836,7 @@ void CalendarTest::TestBasicConversionIslamicTBLA(void) {
         323, 0, 0, 1444, 3, 1444, 2459885, 17091323, 0);
 
 }
-void CalendarTest::TestBasicConversionIslamicCivil(void) {
+void CalendarTest::TestBasicConversionIslamicCivil() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=islamic-civil"), status));
@@ -2850,7 +2850,7 @@ void CalendarTest::TestBasicConversionIslamicCivil(void) {
         323, 0, 0, 1444, 3, 1444, 2459885, 17091323, 0);
 
 }
-void CalendarTest::TestBasicConversionIslamicRGSA(void) {
+void CalendarTest::TestBasicConversionIslamicRGSA() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=islamic-rgsa"), status));
@@ -2864,7 +2864,7 @@ void CalendarTest::TestBasicConversionIslamicRGSA(void) {
         323, 0, 0, 1444, 3, 1444, 2459885, 17091323, 0);
 
 }
-void CalendarTest::TestBasicConversionIslamicUmalqura(void) {
+void CalendarTest::TestBasicConversionIslamicUmalqura() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=islamic-umalqura"), status));
@@ -2877,7 +2877,7 @@ void CalendarTest::TestBasicConversionIslamicUmalqura(void) {
         0, 1444, 3, 15, 2, 7, 95, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 1444, 3, 1444, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionHebrew(void) {
+void CalendarTest::TestBasicConversionHebrew() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=hebrew"), status));
@@ -2890,7 +2890,7 @@ void CalendarTest::TestBasicConversionHebrew(void) {
         0, 5783, 1, 6, 2, 7, 37, 3, 1, 0, 4, 4, 44, 51,
         323, 0, 0, 5783, 3, 5783, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionChinese(void) {
+void CalendarTest::TestBasicConversionChinese() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=chinese"), status));
@@ -2903,7 +2903,7 @@ void CalendarTest::TestBasicConversionChinese(void) {
         78, 39, 9, 40, 2, 8, 274, 3, 2, 0, 4, 4, 44, 51,
         323, 0, 0, 4659, 3, 4659, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionDangi(void) {
+void CalendarTest::TestBasicConversionDangi() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=dangi"), status));
@@ -2916,7 +2916,7 @@ void CalendarTest::TestBasicConversionDangi(void) {
         78, 39, 9, 40, 2, 8, 274, 3, 2, 0, 4, 4, 44, 51,
         323, 0, 0, 4355, 3, 4355, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionIndian(void) {
+void CalendarTest::TestBasicConversionIndian() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=indian"), status));
@@ -2929,7 +2929,7 @@ void CalendarTest::TestBasicConversionIndian(void) {
         0, 1944, 7, 33, 2, 10, 225, 3, 2, 0, 4, 4, 44, 51,
         323, 0, 0, 1944, 3, 1944, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionCoptic(void) {
+void CalendarTest::TestBasicConversionCoptic() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=coptic"), status));
@@ -2942,7 +2942,7 @@ void CalendarTest::TestBasicConversionCoptic(void) {
         1, 1739, 1, 8, 4, 22, 52, 3, 4, 0, 4, 4, 44, 51,
         323, 0, 0, 1739, 3, 1739, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionEthiopic(void) {
+void CalendarTest::TestBasicConversionEthiopic() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=ethiopic"), status));
@@ -2955,7 +2955,7 @@ void CalendarTest::TestBasicConversionEthiopic(void) {
         1, 2015, 1, 8, 4, 22, 52, 3, 4, 0, 4, 4, 44, 51,
         323, 0, 0, 2015, 3, 2015, 2459885, 17091323, 0);
 }
-void CalendarTest::TestBasicConversionEthiopicAmeteAlem(void) {
+void CalendarTest::TestBasicConversionEthiopicAmeteAlem() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<Calendar> cal(icu::Calendar::createInstance(
         *TimeZone::getGMT(), Locale("en@calendar=ethiopic-amete-alem"), status));
@@ -3887,7 +3887,7 @@ void CalendarTest::TestChineseCalendarMapping() {
     }
 }
 
-void CalendarTest::TestGregorianCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestGregorianCalendarInTemporalLeapYear() {
     // test from year 1800 to 2500
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
@@ -3957,7 +3957,7 @@ void CalendarTest::RunChineseCalendarInTemporalLeapYearTest(Calendar* cal) {
     }
 }
 
-void CalendarTest::TestChineseCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestChineseCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "chinese", status);
@@ -3966,7 +3966,7 @@ void CalendarTest::TestChineseCalendarInTemporalLeapYear(void) {
     RunChineseCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestDangiCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestDangiCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "dangi", status);
@@ -3975,7 +3975,7 @@ void CalendarTest::TestDangiCalendarInTemporalLeapYear(void) {
     RunChineseCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestHebrewCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestHebrewCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     Locale l(Locale::getRoot());
@@ -4071,7 +4071,7 @@ void CalendarTest::RunIslamicCalendarInTemporalLeapYearTest(Calendar* cal) {
     }
 }
 
-void CalendarTest::TestIslamicCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIslamicCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "islamic", status);
@@ -4080,7 +4080,7 @@ void CalendarTest::TestIslamicCalendarInTemporalLeapYear(void) {
     RunIslamicCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestIslamicCivilCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIslamicCivilCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "islamic-civil", status);
@@ -4089,7 +4089,7 @@ void CalendarTest::TestIslamicCivilCalendarInTemporalLeapYear(void) {
     RunIslamicCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestIslamicUmalquraCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIslamicUmalquraCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "islamic-umalqura", status);
@@ -4098,7 +4098,7 @@ void CalendarTest::TestIslamicUmalquraCalendarInTemporalLeapYear(void) {
     RunIslamicCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestIslamicRGSACalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIslamicRGSACalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "islamic-rgsa", status);
@@ -4107,7 +4107,7 @@ void CalendarTest::TestIslamicRGSACalendarInTemporalLeapYear(void) {
     RunIslamicCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestIslamicTBLACalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIslamicTBLACalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "islamic-tbla", status);
@@ -4162,7 +4162,7 @@ void CalendarTest::Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(Calendar*
     }
 }
 
-void CalendarTest::TestTaiwanCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestTaiwanCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "roc", status);
@@ -4171,7 +4171,7 @@ void CalendarTest::TestTaiwanCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestJapaneseCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestJapaneseCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "japanese", status);
@@ -4180,7 +4180,7 @@ void CalendarTest::TestJapaneseCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestBuddhistCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestBuddhistCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "buddhist", status);
@@ -4189,7 +4189,7 @@ void CalendarTest::TestBuddhistCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestPersianCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestPersianCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "persian", status);
@@ -4198,7 +4198,7 @@ void CalendarTest::TestPersianCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestIndianCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestIndianCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "indian", status);
@@ -4207,7 +4207,7 @@ void CalendarTest::TestIndianCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestCopticCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestCopticCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "coptic", status);
@@ -4216,7 +4216,7 @@ void CalendarTest::TestCopticCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestEthiopicCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestEthiopicCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "ethiopic", status);
@@ -4225,7 +4225,7 @@ void CalendarTest::TestEthiopicCalendarInTemporalLeapYear(void) {
     Run366DaysIsLeapYearCalendarInTemporalLeapYearTest(cal.getAlias());
 }
 
-void CalendarTest::TestEthiopicAmeteAlemCalendarInTemporalLeapYear(void) {
+void CalendarTest::TestEthiopicAmeteAlemCalendarInTemporalLeapYear() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "ethiopic-amete-alem", status);
@@ -4283,7 +4283,7 @@ void CalendarTest::RunChineseCalendarGetTemporalMonthCode(Calendar* cal) {
     }
 }
 
-void CalendarTest::TestChineseCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestChineseCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "chinese", status);
@@ -4292,7 +4292,7 @@ void CalendarTest::TestChineseCalendarGetTemporalMonthCode(void) {
     RunChineseCalendarGetTemporalMonthCode(cal.getAlias());
 }
 
-void CalendarTest::TestDangiCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestDangiCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "dangi", status);
@@ -4301,7 +4301,7 @@ void CalendarTest::TestDangiCalendarGetTemporalMonthCode(void) {
     RunChineseCalendarGetTemporalMonthCode(cal.getAlias());
 }
 
-void CalendarTest::TestHebrewCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestHebrewCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "hebrew", status);
@@ -4349,7 +4349,7 @@ void CalendarTest::RunCECalendarGetTemporalMonthCode(Calendar* cal) {
 
 }
 
-void CalendarTest::TestCopticCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestCopticCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "coptic", status);
@@ -4358,7 +4358,7 @@ void CalendarTest::TestCopticCalendarGetTemporalMonthCode(void) {
     RunCECalendarGetTemporalMonthCode(cal.getAlias());
 }
 
-void CalendarTest::TestEthiopicCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestEthiopicCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "ethiopic", status);
@@ -4367,7 +4367,7 @@ void CalendarTest::TestEthiopicCalendarGetTemporalMonthCode(void) {
     RunCECalendarGetTemporalMonthCode(cal.getAlias());
 }
 
-void CalendarTest::TestEthiopicAmeteAlemCalendarGetTemporalMonthCode(void) {
+void CalendarTest::TestEthiopicAmeteAlemCalendarGetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "ethiopic-amete-alem", status);
@@ -4376,7 +4376,7 @@ void CalendarTest::TestEthiopicAmeteAlemCalendarGetTemporalMonthCode(void) {
     RunCECalendarGetTemporalMonthCode(cal.getAlias());
 }
 
-void CalendarTest::TestGregorianCalendarSetTemporalMonthCode(void) {
+void CalendarTest::TestGregorianCalendarSetTemporalMonthCode() {
 
     struct TestCase {
       int32_t gYear;
@@ -4426,7 +4426,7 @@ void CalendarTest::TestGregorianCalendarSetTemporalMonthCode(void) {
     }
 }
 
-void CalendarTest::TestChineseCalendarSetTemporalMonthCode(void) {
+void CalendarTest::TestChineseCalendarSetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "chinese", status);
@@ -4543,7 +4543,7 @@ void CalendarTest::TestChineseCalendarSetTemporalMonthCode(void) {
     }
 }
 
-void CalendarTest::TestHebrewCalendarSetTemporalMonthCode(void) {
+void CalendarTest::TestHebrewCalendarSetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "hebrew", status);
@@ -4611,7 +4611,7 @@ void CalendarTest::TestHebrewCalendarSetTemporalMonthCode(void) {
     }
 }
 
-void CalendarTest::TestCopticCalendarSetTemporalMonthCode(void) {
+void CalendarTest::TestCopticCalendarSetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "coptic", status);
@@ -4696,7 +4696,7 @@ void CalendarTest::TestCopticCalendarSetTemporalMonthCode(void) {
     }
 }
 
-void CalendarTest::TestEthiopicCalendarSetTemporalMonthCode(void) {
+void CalendarTest::TestEthiopicCalendarSetTemporalMonthCode() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "ethiopic", status);
@@ -4799,7 +4799,7 @@ void VerifyMonth(CalendarTest* test, const char* message, Calendar* cc, int32_t
     test->assertTrue(buf.c_str(), uprv_strcmp(cc->getTemporalMonthCode(status), expectedMonthCode) == 0);
 }
 
-void CalendarTest::TestMostCalendarsOrdinalMonthSet(void) {
+void CalendarTest::TestMostCalendarsOrdinalMonthSet() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     std::unique_ptr<icu::StringEnumeration> enumeration(
@@ -4892,7 +4892,7 @@ void CalendarTest::TestMostCalendarsOrdinalMonthSet(void) {
     }
 }
 
-void CalendarTest::TestChineseCalendarOrdinalMonthSet(void) {
+void CalendarTest::TestChineseCalendarOrdinalMonthSet() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "chinese", status);
@@ -4978,7 +4978,7 @@ void CalendarTest::TestChineseCalendarOrdinalMonthSet(void) {
     }
 }
 
-void CalendarTest::TestDangiCalendarOrdinalMonthSet(void) {
+void CalendarTest::TestDangiCalendarOrdinalMonthSet() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     const char* name = "dangi";
@@ -5064,7 +5064,7 @@ void CalendarTest::TestDangiCalendarOrdinalMonthSet(void) {
     }
 }
 
-void CalendarTest::TestHebrewCalendarOrdinalMonthSet(void) {
+void CalendarTest::TestHebrewCalendarOrdinalMonthSet() {
     UErrorCode status = U_ZERO_ERROR;
     Locale l(Locale::getRoot());
     l.setKeywordValue("calendar", "hebrew", status);
@@ -5156,7 +5156,7 @@ void CalendarTest::TestHebrewCalendarOrdinalMonthSet(void) {
     }
 }
 
-void CalendarTest::TestCalendarAddOrdinalMonth(void) {
+void CalendarTest::TestCalendarAddOrdinalMonth() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     gc.set(2022, UCAL_DECEMBER, 16);
@@ -5191,7 +5191,7 @@ void CalendarTest::TestCalendarAddOrdinalMonth(void) {
     }
 }
 
-void CalendarTest::TestCalendarRollOrdinalMonth(void) {
+void CalendarTest::TestCalendarRollOrdinalMonth() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     gc.set(2022, UCAL_DECEMBER, 16);
@@ -5238,7 +5238,7 @@ void CalendarTest::TestCalendarRollOrdinalMonth(void) {
     }
 }
 
-void CalendarTest::TestLimitsOrdinalMonth(void) {
+void CalendarTest::TestLimitsOrdinalMonth() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     gc.set(2022, UCAL_DECEMBER, 16);
@@ -5300,7 +5300,7 @@ void CalendarTest::TestLimitsOrdinalMonth(void) {
     }
 }
 
-void CalendarTest::TestActualLimitsOrdinalMonth(void) {
+void CalendarTest::TestActualLimitsOrdinalMonth() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     gc.set(2022, UCAL_DECEMBER, 16);
@@ -5397,7 +5397,7 @@ void CalendarTest::TestActualLimitsOrdinalMonth(void) {
 // There should be a Leap month after the 2nd month of the Chinese Calendar year
 // mostly overlapping with 1890 and should have no leap month in the Chinese
 // Calendar year mostly overlapping with 1889.
-void CalendarTest::TestChineseCalendarMonthInSpecialYear(void) {
+void CalendarTest::TestChineseCalendarMonthInSpecialYear() {
     UErrorCode status = U_ZERO_ERROR;
     GregorianCalendar gc(status);
     ChineseCalendar cal(Locale::getRoot(), status);
diff --git a/icu4c/source/test/intltest/caltest.h b/icu4c/source/test/intltest/caltest.h
index c16b4423f01..ee062b2e0ed 100644
--- a/icu4c/source/test/intltest/caltest.h
+++ b/icu4c/source/test/intltest/caltest.h
@@ -25,12 +25,12 @@ public:
      * This test confirms the correct behavior of add when incrementing
      * through subsequent days.
      */
-    virtual void TestRog(void);
+    virtual void TestRog();
     /**
      * Test the handling of the day of the week, checking for correctness and
      * for correct minimum and maximum values.
      */
-    virtual void TestDOW943(void);
+    virtual void TestDOW943();
     /**
      * test subroutine use by TestDOW943
      */
@@ -38,23 +38,23 @@ public:
     /**
      * Confirm that cloned Calendar objects do not inadvertently share substructures.
      */
-    virtual void TestClonesUnique908(void);
+    virtual void TestClonesUnique908();
     /**
      * Confirm that the Gregorian cutoff value works as advertised.
      */
-    virtual void TestGregorianChange768(void);
+    virtual void TestGregorianChange768();
     /**
      * Confirm the functioning of the field disambiguation algorithm.
      */
-    virtual void TestDisambiguation765(void);
+    virtual void TestDisambiguation765();
     /**
      * Test various API methods for API completeness.
      */
-    virtual void TestGenericAPI(void); // New to C++ -- needs to be back ported to Java
+    virtual void TestGenericAPI(); // New to C++ -- needs to be back ported to Java
 
-    virtual void TestWOY(void);
+    virtual void TestWOY();
 
-    virtual void TestDebug(void);
+    virtual void TestDebug();
 
 public: // package
     /**
@@ -70,7 +70,7 @@ public:
     /**
      * Confirm that the offset between local time and GMT behaves as expected.
      */
-    virtual void TestGMTvsLocal4064654(void);
+    virtual void TestGMTvsLocal4064654();
 
 public: // package
     /**
@@ -83,15 +83,15 @@ public:
      * The operations of adding and setting should not exhibit pathological
      * dependence on the order of operations.  This test checks for this.
      */
-    virtual void TestAddSetOrder621(void);
+    virtual void TestAddSetOrder621();
     /**
      * Confirm that adding to various fields works.
      */
-    virtual void TestAdd520(void);
+    virtual void TestAdd520();
     /**
      * Execute and test adding and rolling in GregorianCalendar extensively.
      */
-    virtual void TestAddRollExtensive(void);
+    virtual void TestAddRollExtensive();
 
 public: // package
     // internal utility routine for checking date
@@ -108,7 +108,7 @@ public:
      * Test that setting of fields works.  In particular, make sure that all instances
      * of GregorianCalendar don't share a static instance of the fields array.
      */
-    virtual void TestFieldSet4781(void);
+    virtual void TestFieldSet4781();
 /*    virtual void TestSerialize337();
 
 public: // package
@@ -121,13 +121,13 @@ public:
      * Verify that the seconds of a Calendar can be zeroed out through the
      * expected sequence of operations.
      */
-    virtual void TestSecondsZero121(void);
+    virtual void TestSecondsZero121();
     /**
      * Verify that a specific sequence of adding and setting works as expected;
      * it should not vary depending on when and whether the get method is
      * called.
      */
-    virtual void TestAddSetGet0610(void);
+    virtual void TestAddSetGet0610();
 
 public: // package
     // internal routine for checking date
@@ -137,7 +137,7 @@ public:
     /**
      * Verify that various fields on a known date are set correctly.
      */
-    virtual void TestFields060(void);
+    virtual void TestFields060();
 
 public: // package
     static int32_t EXPECTED_FIELDS[];
@@ -148,7 +148,7 @@ public:
      * Verify that various fields on a known date are set correctly.  In this
      * case, the start of the epoch (January 1 1970).
      */
-    virtual void TestEpochStartFields(void);
+    virtual void TestEpochStartFields();
 
 public: // package
     static int32_t EPOCH_FIELDS[];
@@ -158,11 +158,11 @@ public:
      * Test that the days of the week progress properly when add is called repeatedly
      * for increments of 24 days.
      */
-    virtual void TestDOWProgression(void);
+    virtual void TestDOWProgression();
     /**
      * Test newly added fields - DOW_LOCAL and YEAR_WOY
      */
-    virtual void TestDOW_LOCALandYEAR_WOY(void);
+    virtual void TestDOW_LOCALandYEAR_WOY();
     // test subroutine used by TestDOW_LOCALandYEAR_WOY
     virtual void doYEAR_WOYLoop(Calendar *cal,
         SimpleDateFormat *sdf, int32_t times, UErrorCode& status);
@@ -171,8 +171,8 @@ public:
         int times, UCalendarDateFields field, UCalendarDateFields field2,
         UErrorCode& errorCode);
 
-    void TestYWOY(void);
-    void TestJD(void);
+    void TestYWOY();
+    void TestJD();
 
     void yearAddTest(Calendar& cal, UErrorCode& status);
 
@@ -218,33 +218,33 @@ public: // package
 
   // internal - for other test use
  public:
-    void Test6703(void);
-    void Test3785(void);
-    void Test1624(void);
-    void TestIslamicUmAlQura(void);
-    void TestIslamicTabularDates(void);
+    void Test6703();
+    void Test3785();
+    void Test1624();
+    void TestIslamicUmAlQura();
+    void TestIslamicTabularDates();
 
     /**
      * Test the time stamp array recalculation during heavy Calendar usage
      */
-    void TestTimeStamp(void);
+    void TestTimeStamp();
     /**
      * Test the ISO8601 calendar type
      */
-    void TestISO8601(void);
+    void TestISO8601();
 
     /**
      * Test cases for [set|get][Repeated|Skipped]WallTimeOption
      */
-    void TestAmbiguousWallTimeAPIs(void);
-    void TestRepeatedWallTime(void);
-    void TestSkippedWallTime(void);
+    void TestAmbiguousWallTimeAPIs();
+    void TestRepeatedWallTime();
+    void TestSkippedWallTime();
 
-    void TestCloneLocale(void);
+    void TestCloneLocale();
 
-    void TestTimeZoneInLocale(void);
+    void TestTimeZoneInLocale();
 
-    void TestHebrewMonthValidation(void);
+    void TestHebrewMonthValidation();
 
     /*
      * utility methods for TestIslamicUmAlQura
@@ -252,30 +252,30 @@ public: // package
     void setAndTestCalendar(Calendar* cal, int32_t initMonth, int32_t initDay, int32_t initYear, UErrorCode& status);
     void setAndTestWholeYear(Calendar* cal, int32_t startYear, UErrorCode& status);
 
-    void TestWeekData(void);
+    void TestWeekData();
 
-    void TestAddAcrossZoneTransition(void);
+    void TestAddAcrossZoneTransition();
 
-    void TestChineseCalendarMapping(void);
+    void TestChineseCalendarMapping();
 
-    void TestBasicConversionGregorian(void);
-    void TestBasicConversionISO8601(void);
-    void TestBasicConversionJapanese(void);
-    void TestBasicConversionBuddhist(void);
-    void TestBasicConversionTaiwan(void);
-    void TestBasicConversionPersian(void);
-    void TestBasicConversionIslamic(void);
-    void TestBasicConversionIslamicTBLA(void);
-    void TestBasicConversionIslamicCivil(void);
-    void TestBasicConversionIslamicRGSA(void);
-    void TestBasicConversionIslamicUmalqura(void);
-    void TestBasicConversionHebrew(void);
-    void TestBasicConversionChinese(void);
-    void TestBasicConversionDangi(void);
-    void TestBasicConversionIndian(void);
-    void TestBasicConversionCoptic(void);
-    void TestBasicConversionEthiopic(void);
-    void TestBasicConversionEthiopicAmeteAlem(void);
+    void TestBasicConversionGregorian();
+    void TestBasicConversionISO8601();
+    void TestBasicConversionJapanese();
+    void TestBasicConversionBuddhist();
+    void TestBasicConversionTaiwan();
+    void TestBasicConversionPersian();
+    void TestBasicConversionIslamic();
+    void TestBasicConversionIslamicTBLA();
+    void TestBasicConversionIslamicCivil();
+    void TestBasicConversionIslamicRGSA();
+    void TestBasicConversionIslamicUmalqura();
+    void TestBasicConversionHebrew();
+    void TestBasicConversionChinese();
+    void TestBasicConversionDangi();
+    void TestBasicConversionIndian();
+    void TestBasicConversionCoptic();
+    void TestBasicConversionEthiopic();
+    void TestBasicConversionEthiopicAmeteAlem();
 
     void AsssertCalendarFieldValue(
         Calendar* cal, double time, const char* type,
@@ -286,47 +286,47 @@ public: // package
         int32_t dst_offset, int32_t year_woy, int32_t dow_local, int32_t extended_year,
         int32_t julian_day, int32_t milliseconds_in_day, int32_t is_leap_month);
 
-    void TestChineseCalendarMonthInSpecialYear(void);
-    void TestGregorianCalendarInTemporalLeapYear(void);
-    void TestChineseCalendarInTemporalLeapYear(void);
-    void TestDangiCalendarInTemporalLeapYear(void);
-    void TestHebrewCalendarInTemporalLeapYear(void);
-    void TestIslamicCalendarInTemporalLeapYear(void);
-    void TestIslamicCivilCalendarInTemporalLeapYear(void);
-    void TestIslamicUmalquraCalendarInTemporalLeapYear(void);
-    void TestIslamicRGSACalendarInTemporalLeapYear(void);
-    void TestIslamicTBLACalendarInTemporalLeapYear(void);
-    void TestPersianCalendarInTemporalLeapYear(void);
-    void TestIndianCalendarInTemporalLeapYear(void);
-    void TestTaiwanCalendarInTemporalLeapYear(void);
-    void TestJapaneseCalendarInTemporalLeapYear(void);
-    void TestBuddhistCalendarInTemporalLeapYear(void);
-    void TestCopticCalendarInTemporalLeapYear(void);
-    void TestEthiopicCalendarInTemporalLeapYear(void);
-    void TestEthiopicAmeteAlemCalendarInTemporalLeapYear(void);
+    void TestChineseCalendarMonthInSpecialYear();
+    void TestGregorianCalendarInTemporalLeapYear();
+    void TestChineseCalendarInTemporalLeapYear();
+    void TestDangiCalendarInTemporalLeapYear();
+    void TestHebrewCalendarInTemporalLeapYear();
+    void TestIslamicCalendarInTemporalLeapYear();
+    void TestIslamicCivilCalendarInTemporalLeapYear();
+    void TestIslamicUmalquraCalendarInTemporalLeapYear();
+    void TestIslamicRGSACalendarInTemporalLeapYear();
+    void TestIslamicTBLACalendarInTemporalLeapYear();
+    void TestPersianCalendarInTemporalLeapYear();
+    void TestIndianCalendarInTemporalLeapYear();
+    void TestTaiwanCalendarInTemporalLeapYear();
+    void TestJapaneseCalendarInTemporalLeapYear();
+    void TestBuddhistCalendarInTemporalLeapYear();
+    void TestCopticCalendarInTemporalLeapYear();
+    void TestEthiopicCalendarInTemporalLeapYear();
+    void TestEthiopicAmeteAlemCalendarInTemporalLeapYear();
 
-    void TestChineseCalendarGetTemporalMonthCode(void);
-    void TestDangiCalendarGetTemporalMonthCode(void);
-    void TestHebrewCalendarGetTemporalMonthCode(void);
-    void TestCopticCalendarGetTemporalMonthCode(void);
-    void TestEthiopicCalendarGetTemporalMonthCode(void);
-    void TestEthiopicAmeteAlemCalendarGetTemporalMonthCode(void);
+    void TestChineseCalendarGetTemporalMonthCode();
+    void TestDangiCalendarGetTemporalMonthCode();
+    void TestHebrewCalendarGetTemporalMonthCode();
+    void TestCopticCalendarGetTemporalMonthCode();
+    void TestEthiopicCalendarGetTemporalMonthCode();
+    void TestEthiopicAmeteAlemCalendarGetTemporalMonthCode();
 
-    void TestGregorianCalendarSetTemporalMonthCode(void);
-    void TestChineseCalendarSetTemporalMonthCode(void);
-    void TestHebrewCalendarSetTemporalMonthCode(void);
-    void TestCopticCalendarSetTemporalMonthCode(void);
-    void TestEthiopicCalendarSetTemporalMonthCode(void);
+    void TestGregorianCalendarSetTemporalMonthCode();
+    void TestChineseCalendarSetTemporalMonthCode();
+    void TestHebrewCalendarSetTemporalMonthCode();
+    void TestCopticCalendarSetTemporalMonthCode();
+    void TestEthiopicCalendarSetTemporalMonthCode();
 
-    void TestMostCalendarsOrdinalMonthSet(void);
-    void TestChineseCalendarOrdinalMonthSet(void);
-    void TestDangiCalendarOrdinalMonthSet(void);
-    void TestHebrewCalendarOrdinalMonthSet(void);
+    void TestMostCalendarsOrdinalMonthSet();
+    void TestChineseCalendarOrdinalMonthSet();
+    void TestDangiCalendarOrdinalMonthSet();
+    void TestHebrewCalendarOrdinalMonthSet();
 
-    void TestCalendarAddOrdinalMonth(void);
-    void TestCalendarRollOrdinalMonth(void);
-    void TestLimitsOrdinalMonth(void);
-    void TestActualLimitsOrdinalMonth(void);
+    void TestCalendarAddOrdinalMonth();
+    void TestCalendarRollOrdinalMonth();
+    void TestLimitsOrdinalMonth();
+    void TestActualLimitsOrdinalMonth();
 
     void RunChineseCalendarInTemporalLeapYearTest(Calendar* cal);
     void RunIslamicCalendarInTemporalLeapYearTest(Calendar* cal);
diff --git a/icu4c/source/test/intltest/caltztst.h b/icu4c/source/test/intltest/caltztst.h
index c4f31e1d65f..5192ffbd996 100644
--- a/icu4c/source/test/intltest/caltztst.h
+++ b/icu4c/source/test/intltest/caltztst.h
@@ -54,10 +54,10 @@ protected:
 
     // the 'get()' functions are not static because they can call errln().
     // they are effectively static otherwise.
-     DateFormat*               getDateFormat(void);
+     DateFormat*               getDateFormat();
     static void                releaseDateFormat(DateFormat *f);
 
-     Calendar*                 getCalendar(void);
+     Calendar*                 getCalendar();
     static void                releaseCalendar(Calendar *c);
 };
 
diff --git a/icu4c/source/test/intltest/canittst.h b/icu4c/source/test/intltest/canittst.h
index 078e273ae66..704b876c394 100644
--- a/icu4c/source/test/intltest/canittst.h
+++ b/icu4c/source/test/intltest/canittst.h
@@ -40,8 +40,8 @@ public:
 
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = nullptr ) override;
 
-    void TestCanonicalIterator(void);
-    void TestExhaustive(void);
+    void TestCanonicalIterator();
+    void TestExhaustive();
     void TestBasic();
     void TestAPI();
     UnicodeString collectionToString(Hashtable *col);
diff --git a/icu4c/source/test/intltest/citrtest.cpp b/icu4c/source/test/intltest/citrtest.cpp
index d24f204d19a..5ca90dd337d 100644
--- a/icu4c/source/test/intltest/citrtest.cpp
+++ b/icu4c/source/test/intltest/citrtest.cpp
@@ -46,10 +46,10 @@ public:
     virtual void getText(UnicodeString& result) override {
         text.extract(0,text.length(),result);
     }
-    static UClassID getStaticClassID(void){ 
+    static UClassID getStaticClassID(){ 
         return (UClassID)(&fgClassID); 
     }
-    virtual UClassID getDynamicClassID(void) const override {
+    virtual UClassID getDynamicClassID() const override {
         return getStaticClassID(); 
     }
 
@@ -57,14 +57,14 @@ public:
         return true;
     }
 
-    virtual SCharacterIterator* clone(void) const override {
+    virtual SCharacterIterator* clone() const override {
         return nullptr;
     }
-    virtual int32_t hashCode(void) const override {
+    virtual int32_t hashCode() const override {
         return DONE;
     }
-    virtual char16_t nextPostInc(void) override { return text.charAt(pos++);}
-    virtual UChar32 next32PostInc(void) override {return text.char32At(pos++);}
+    virtual char16_t nextPostInc() override { return text.charAt(pos++);}
+    virtual UChar32 next32PostInc() override {return text.char32At(pos++);}
     virtual UBool hasNext() override { return true;}
     virtual char16_t first() override {return DONE;}
     virtual UChar32 first32() override {return DONE;}
diff --git a/icu4c/source/test/intltest/citrtest.h b/icu4c/source/test/intltest/citrtest.h
index b0474c8fa17..24c1cdebd7c 100644
--- a/icu4c/source/test/intltest/citrtest.h
+++ b/icu4c/source/test/intltest/citrtest.h
@@ -24,19 +24,19 @@ public:
     /**
      * Test Constructors and operators ==, != and a few other methods
      **/
-    void TestConstructionAndEquality(void);
+    void TestConstructionAndEquality();
     /**
      * Test Constructors and operators ==, != and a few other methods for UChariter
      **/
-    void TestConstructionAndEqualityUChariter(void);
+    void TestConstructionAndEqualityUChariter();
     /**
      * test the iteration functionality in different ways
      **/
-    void TestIteration(void);
+    void TestIteration();
      /**
      * test the iteration functionality in different ways with  unicodestring of UChar32's
      **/
-    void TestIterationUChar32(void);
+    void TestIterationUChar32();
 
     void TestUCharIterator();
     void TestUCharIterator(UCharIterator *iter, CharacterIterator &ci, const char *moves, const char *which);
diff --git a/icu4c/source/test/intltest/cpdtrtst.h b/icu4c/source/test/intltest/cpdtrtst.h
index 4840f976946..72fe89a840f 100644
--- a/icu4c/source/test/intltest/cpdtrtst.h
+++ b/icu4c/source/test/intltest/cpdtrtst.h
@@ -32,15 +32,15 @@ public:
     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=nullptr) override;
 
     /*Tests the constructors */
-    void TestConstruction(void);
+    void TestConstruction();
     /*Tests the function clone, and operator==()*/
-    void TestCloneEqual(void);
+    void TestCloneEqual();
     /*Tests the function getCount()*/
-    void TestGetCount(void);
+    void TestGetCount();
     /*Tests the function getTransliterator() and setTransliterators() and adoptTransliterators()*/
-    void TestGetSetAdoptTransliterator(void);
+    void TestGetSetAdoptTransliterator();
     /*Tests the function handleTransliterate()*/
-    void TestTransliterate(void);
+    void TestTransliterate();
 
     //======================================================================
     // Support methods
diff --git a/icu4c/source/test/intltest/dtfmapts.cpp b/icu4c/source/test/intltest/dtfmapts.cpp
index cb2d2f51a50..d95f6a3217c 100644
--- a/icu4c/source/test/intltest/dtfmapts.cpp
+++ b/icu4c/source/test/intltest/dtfmapts.cpp
@@ -69,7 +69,7 @@ void IntlTestDateFormatAPI::runIndexedTest( int32_t index, UBool exec, const cha
 /**
  * Add better code coverage.
  */
-void IntlTestDateFormatAPI::TestCoverage(void)
+void IntlTestDateFormatAPI::TestCoverage()
 {
     const char *LOCALES[] = {
             "zh_CN@calendar=chinese",
@@ -91,7 +91,7 @@ void IntlTestDateFormatAPI::TestCoverage(void)
 /**
  * Test that the equals method works correctly.
  */
-void IntlTestDateFormatAPI::TestEquals(void)
+void IntlTestDateFormatAPI::TestEquals()
 {
     UErrorCode status = U_ZERO_ERROR;
     // Create two objects at different system times
@@ -277,7 +277,7 @@ if (fr != nullptr && it != nullptr && de != nullptr)
  * the DateFormat API test.
  */
 void
-IntlTestDateFormatAPI::TestNameHiding(void) {
+IntlTestDateFormatAPI::TestNameHiding() {
 
     // N.B.: This test passes if it COMPILES, since it's a test of
     // compile-time name hiding.
diff --git a/icu4c/source/test/intltest/dtfmapts.h b/icu4c/source/test/intltest/dtfmapts.h
index 6497c93255c..c863468ad41 100644
--- a/icu4c/source/test/intltest/dtfmapts.h
+++ b/icu4c/source/test/intltest/dtfmapts.h
@@ -32,17 +32,17 @@ private:
     /**
      * Test that the equals method works correctly.
      */
-    void TestEquals(void);
+    void TestEquals();
 
     /**
      * Test that no parse or format methods are hidden.
      */
-    void TestNameHiding(void);
+    void TestNameHiding();
 
     /**
      * Add better code coverage.
      */
-    void TestCoverage(void);
+    void TestCoverage();
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/icu4c/source/test/intltest/dtfmrgts.cpp b/icu4c/source/test/intltest/dtfmrgts.cpp
index 05ecbc0064c..6aa601e0855 100644
--- a/icu4c/source/test/intltest/dtfmrgts.cpp
+++ b/icu4c/source/test/intltest/dtfmrgts.cpp
@@ -73,7 +73,7 @@ DateFormatRegressionTest::runIndexedTest( int32_t index, UBool exec, const char*
 /**
  * @bug 4029195
  */
-void DateFormatRegressionTest::Test4029195(void) 
+void DateFormatRegressionTest::Test4029195() 
 {
     UErrorCode status = U_ZERO_ERROR;
 
@@ -129,7 +129,7 @@ void DateFormatRegressionTest::Test4029195(void)
 /**
  * @bug 4052408
  */
-void DateFormatRegressionTest::Test4052408(void) 
+void DateFormatRegressionTest::Test4052408() 
 {
 
     DateFormat *fmt = DateFormat::createDateTimeInstance(DateFormat::SHORT,
@@ -230,7 +230,7 @@ void DateFormatRegressionTest::Test4052408(void)
  * @bug 4056591
  * Verify the function of the [s|g]et2DigitYearStart() API.
  */
-void DateFormatRegressionTest::Test4056591(void) 
+void DateFormatRegressionTest::Test4056591() 
 {
     UErrorCode status = U_ZERO_ERROR;
 
@@ -287,7 +287,7 @@ void DateFormatRegressionTest::Test4056591(void)
 /**
  * @bug 4059917
  */
-void DateFormatRegressionTest::Test4059917(void) 
+void DateFormatRegressionTest::Test4059917() 
 {
     UErrorCode status = U_ZERO_ERROR;
     
@@ -337,7 +337,7 @@ void DateFormatRegressionTest::aux917( SimpleDateFormat *fmt, UnicodeString& str
 /**
  * @bug 4060212
  */
-void DateFormatRegressionTest::Test4060212(void) 
+void DateFormatRegressionTest::Test4060212() 
 {
     UnicodeString dateString = "1995-040.05:01:29";
 
@@ -386,7 +386,7 @@ void DateFormatRegressionTest::Test4060212(void)
 /**
  * @bug 4061287
  */
-void DateFormatRegressionTest::Test4061287(void) 
+void DateFormatRegressionTest::Test4061287() 
 {
     UErrorCode status = U_ZERO_ERROR;
     
@@ -422,7 +422,7 @@ void DateFormatRegressionTest::Test4061287(void)
 /**
  * @bug 4065240
  */
-void DateFormatRegressionTest::Test4065240(void) 
+void DateFormatRegressionTest::Test4065240() 
 {
     UDate curDate;
     DateFormat *shortdate, *fulldate;
@@ -505,7 +505,7 @@ void DateFormatRegressionTest::Test4065240(void)
 /**
  * @bug 4071441
  */
-void DateFormatRegressionTest::Test4071441(void) 
+void DateFormatRegressionTest::Test4071441() 
 {
     DateFormat *fmtA = DateFormat::createInstance();
     DateFormat *fmtB = DateFormat::createInstance();
@@ -564,7 +564,7 @@ void DateFormatRegressionTest::Test4071441(void)
 /**
  * @bug 4073003
  */
-void DateFormatRegressionTest::Test4073003(void) 
+void DateFormatRegressionTest::Test4073003() 
 {
     //try {
     UErrorCode ec = U_ZERO_ERROR;
@@ -600,7 +600,7 @@ void DateFormatRegressionTest::Test4073003(void)
 /**
  * @bug 4089106
  */
-void DateFormatRegressionTest::Test4089106(void) 
+void DateFormatRegressionTest::Test4089106() 
 {
     TimeZone *def = TimeZone::createDefault();
     //try {
@@ -635,7 +635,7 @@ void DateFormatRegressionTest::Test4089106(void)
 
 // {sfb} not applicable in C++??
 
-void DateFormatRegressionTest::Test4100302(void) 
+void DateFormatRegressionTest::Test4100302() 
 {
 /*    Locale locales [] =  {
         Locale::CANADA,
@@ -704,7 +704,7 @@ void DateFormatRegressionTest::Test4100302(void)
 /**
  * @bug 4101483
  */
-void DateFormatRegressionTest::Test4101483(void) 
+void DateFormatRegressionTest::Test4101483() 
 {
     UErrorCode status = U_ZERO_ERROR;
     SimpleDateFormat sdf(UnicodeString("z"), Locale::getUS(), status);
@@ -731,7 +731,7 @@ void DateFormatRegressionTest::Test4101483(void)
  * NT; it would actually have failed on any non-US locale.  Now it should
  * work on all locales.
  */
-void DateFormatRegressionTest::Test4103340(void) 
+void DateFormatRegressionTest::Test4103340() 
 {
     UErrorCode status = U_ZERO_ERROR;
 
@@ -757,7 +757,7 @@ void DateFormatRegressionTest::Test4103340(void)
 /**
  * @bug 4103341
  */
-void DateFormatRegressionTest::Test4103341(void) 
+void DateFormatRegressionTest::Test4103341() 
 {
     LocalPointer<TimeZone> saveZone(TimeZone::createDefault());
     if (!saveZone.isValid()) {
@@ -781,7 +781,7 @@ void DateFormatRegressionTest::Test4103341(void)
 /**
  * @bug 4104136
  */
-void DateFormatRegressionTest::Test4104136(void) 
+void DateFormatRegressionTest::Test4104136() 
 {
     UErrorCode status = U_ZERO_ERROR;
     SimpleDateFormat *sdf = new SimpleDateFormat(status); 
@@ -845,7 +845,7 @@ void DateFormatRegressionTest::Test4104136(void)
  * StringIndexOutOfBoundsException during the second parse.  However,
  * this is not seen.
  */
-void DateFormatRegressionTest::Test4104522(void) 
+void DateFormatRegressionTest::Test4104522() 
 {
     UErrorCode status = U_ZERO_ERROR;
     
@@ -880,7 +880,7 @@ void DateFormatRegressionTest::Test4104522(void)
 /**
  * @bug 4106807
  */
-void DateFormatRegressionTest::Test4106807(void) 
+void DateFormatRegressionTest::Test4106807() 
 {
     UDate dt; 
     DateFormat *df = DateFormat::createDateTimeInstance(); 
@@ -973,7 +973,7 @@ void DateFormatRegressionTest::Test4106807(void)
  */
 
 // {sfb} what to do with this one ?? 
-void DateFormatRegressionTest::Test4108407(void) 
+void DateFormatRegressionTest::Test4108407() 
 { 
     /*long l = System.currentTimeMillis(); 
     logln("user.timezone = " + System.getProperty("user.timezone", "?"));
@@ -992,7 +992,7 @@ void DateFormatRegressionTest::Test4108407(void)
  * @bug 4134203
  * SimpleDateFormat won't parse "GMT"
  */
-void DateFormatRegressionTest::Test4134203(void) 
+void DateFormatRegressionTest::Test4134203() 
 {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString dateFormat = "MM/dd/yy HH:mm:ss zzz";
@@ -1011,7 +1011,7 @@ void DateFormatRegressionTest::Test4134203(void)
  * @bug 4151631
  * SimpleDateFormat incorrect handling of 2 single quotes in format()
  */
-void DateFormatRegressionTest::Test4151631(void) 
+void DateFormatRegressionTest::Test4151631() 
 {
     UnicodeString pattern = "'TO_DATE('''dd'-'MM'-'yyyy HH:mm:ss''' , ''DD-MM-YYYY HH:MI:SS'')'";
     logln("pattern=" + pattern);
@@ -1034,7 +1034,7 @@ void DateFormatRegressionTest::Test4151631(void)
  * 'z' at end of date format throws index exception in SimpleDateFormat
  * CANNOT REPRODUCE THIS BUG ON 1.2FCS
  */
-void DateFormatRegressionTest::Test4151706(void) 
+void DateFormatRegressionTest::Test4151706() 
 {
     UnicodeString dateString("Thursday, 31-Dec-98 23:00:00 GMT");
     UErrorCode status = U_ZERO_ERROR;
@@ -1060,7 +1060,7 @@ void DateFormatRegressionTest::Test4151706(void)
  * of some other bug that has been fixed.
  */
 void 
-DateFormatRegressionTest::Test4162071(void) 
+DateFormatRegressionTest::Test4162071() 
 {
     UnicodeString dateString("Thu, 30-Jul-1999 11:51:14 GMT");
     UnicodeString format("EEE', 'dd-MMM-yyyy HH:mm:ss z"); // RFC 822/1123
@@ -1088,7 +1088,7 @@ DateFormatRegressionTest::Test4162071(void)
 /**
  * DateFormat shouldn't parse year "-1" as a two-digit year (e.g., "-1" -> 1999).
  */
-void DateFormatRegressionTest::Test4182066(void) {
+void DateFormatRegressionTest::Test4182066() {
     UErrorCode status = U_ZERO_ERROR;
     SimpleDateFormat fmt("MM/dd/yy", Locale::getUS(), status);
     SimpleDateFormat dispFmt("MMM dd yyyy GG", Locale::getUS(), status);
@@ -1170,7 +1170,7 @@ void DateFormatRegressionTest::Test4182066(void) {
  * DateFormat cannot parse Feb 29 2000 when setLenient(false)
  */
 void
-DateFormatRegressionTest::Test4210209(void) {
+DateFormatRegressionTest::Test4210209() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString pattern("MMM d, yyyy");
     SimpleDateFormat sfmt(pattern, Locale::getUS(), status);
@@ -1216,7 +1216,7 @@ DateFormatRegressionTest::Test4210209(void) {
     }
 }
 
-void DateFormatRegressionTest::Test714(void)
+void DateFormatRegressionTest::Test714()
 {
     //try {
      UDate d(978103543000.);
@@ -1278,7 +1278,7 @@ public:
   { }
 };
 
-void DateFormatRegressionTest::Test1684(void)
+void DateFormatRegressionTest::Test1684()
 {
   //      July 2001            August 2001           January 2002    
   // Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
@@ -1416,7 +1416,7 @@ void DateFormatRegressionTest::Test1684(void)
   delete sdf;
 }
 
-void DateFormatRegressionTest::Test5554(void)
+void DateFormatRegressionTest::Test5554()
 {
   UErrorCode status = U_ZERO_ERROR;
   UnicodeString pattern("Z","");
@@ -1446,7 +1446,7 @@ void DateFormatRegressionTest::Test5554(void)
   delete sdf;
 }
 
-void DateFormatRegressionTest::Test9237(void)
+void DateFormatRegressionTest::Test9237()
 {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString pattern("VVVV");
@@ -1480,7 +1480,7 @@ void DateFormatRegressionTest::Test9237(void)
     }
 }
 
-void DateFormatRegressionTest::TestParsing(void) {
+void DateFormatRegressionTest::TestParsing() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString pattern("EEE-WW-MMMM-yyyy");
     UnicodeString text("mon-02-march-2011");
@@ -1508,7 +1508,7 @@ void DateFormatRegressionTest::TestParsing(void) {
     delete cal;
 }
 
-void DateFormatRegressionTest::Test12902_yWithGregoCalInThaiLoc(void) {
+void DateFormatRegressionTest::Test12902_yWithGregoCalInThaiLoc() {
     UErrorCode status = U_ZERO_ERROR;
     UDate testDate = 43200000.0; // 1970-Jan-01 12:00 GMT
     const char* skeleton = "y";
@@ -1557,7 +1557,7 @@ void DateFormatRegressionTest::Test12902_yWithGregoCalInThaiLoc(void) {
     }
 }
 
-void DateFormatRegressionTest::TestT10334(void) {
+void DateFormatRegressionTest::TestT10334() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString pattern("'--: 'EEE-WW-MMMM-yyyy");
     UnicodeString text("--mon-02-march-2011");
@@ -1628,7 +1628,7 @@ typedef struct {
 } TestDateFormatLeniencyItem;
 
 
-void DateFormatRegressionTest::TestT10619(void) {
+void DateFormatRegressionTest::TestT10619() {
     const UDate july022008 = 1215000001979.0;
     const TestDateFormatLeniencyItem items[] = {
         //locale    leniency    parse String                    pattern                             expected result
@@ -1690,7 +1690,7 @@ typedef struct {
     int initialParsePos;
 } T10855Data;
     
-void DateFormatRegressionTest::TestT10855(void) {
+void DateFormatRegressionTest::TestT10855() {
     // NOTE: these should NOT parse
     const T10855Data items[] = {
         //parse String                          pattern                         initial parse pos
@@ -1734,7 +1734,7 @@ void DateFormatRegressionTest::TestT10855(void) {
     }
 }
 
-void DateFormatRegressionTest::TestT10906(void) {
+void DateFormatRegressionTest::TestT10906() {
 
       UErrorCode status = U_ZERO_ERROR;
       UnicodeString pattern = "MM-dd-yyyy";
@@ -1749,7 +1749,7 @@ void DateFormatRegressionTest::TestT10906(void) {
       }
 }
 
-void DateFormatRegressionTest::TestT13380(void) {
+void DateFormatRegressionTest::TestT13380() {
     UErrorCode errorCode = U_ZERO_ERROR;
     LocalPointer<DateFormat> enFmt(DateFormat::createDateInstance(DateFormat::kShort, Locale("en")), errorCode);
     if (U_FAILURE(errorCode)) {
@@ -1763,7 +1763,7 @@ void DateFormatRegressionTest::TestT13380(void) {
     }
 }
 
-void DateFormatRegressionTest::TestT10858(void) {
+void DateFormatRegressionTest::TestT10858() {
     // test for assignment operator on instances with the same locale but different TimeZoneFormat
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString pattern("VVVV");
diff --git a/icu4c/source/test/intltest/dtfmrgts.h b/icu4c/source/test/intltest/dtfmrgts.h
index 050cdd9ba60..3f25f863740 100644
--- a/icu4c/source/test/intltest/dtfmrgts.h
+++ b/icu4c/source/test/intltest/dtfmrgts.h
@@ -25,43 +25,43 @@ class DateFormatRegressionTest: public CalendarTimeZoneTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-    void Test4029195(void);
-    void Test4052408(void);
-    void Test4056591(void);
-    void Test4059917(void);
+    void Test4029195();
+    void Test4052408();
+    void Test4056591();
+    void Test4059917();
     void aux917( SimpleDateFormat *fmt, UnicodeString& str );
-    void Test4060212(void);
-    void Test4061287(void);
-    void Test4065240(void);
-    void Test4071441(void);
-    void Test4073003(void);
-    void Test4089106(void);
-    void Test4100302(void);
-    void Test4101483(void);
-    void Test4103340(void);
-    void Test4103341(void);
-    void Test4104136(void);
-    void Test4104522(void);
-    void Test4106807(void);
-    void Test4108407(void); 
-    void Test4134203(void);
-    void Test4151631(void);
-    void Test4151706(void);
-    void Test4162071(void);
-    void Test4182066(void);
-    void Test4210209(void);
-    void Test714(void);
-    void Test1684(void);
-    void Test5554(void);
-    void Test9237(void);
-    void TestParsing(void);
-    void Test12902_yWithGregoCalInThaiLoc(void);
-    void TestT10334(void);
-    void TestT10619(void);
-    void TestT10855(void);
-    void TestT10858(void);
-    void TestT10906(void);
-    void TestT13380(void);
+    void Test4060212();
+    void Test4061287();
+    void Test4065240();
+    void Test4071441();
+    void Test4073003();
+    void Test4089106();
+    void Test4100302();
+    void Test4101483();
+    void Test4103340();
+    void Test4103341();
+    void Test4104136();
+    void Test4104522();
+    void Test4106807();
+    void Test4108407(); 
+    void Test4134203();
+    void Test4151631();
+    void Test4151706();
+    void Test4162071();
+    void Test4182066();
+    void Test4210209();
+    void Test714();
+    void Test1684();
+    void Test5554();
+    void Test9237();
+    void TestParsing();
+    void Test12902_yWithGregoCalInThaiLoc();
+    void TestT10334();
+    void TestT10619();
+    void TestT10855();
+    void TestT10858();
+    void TestT10906();
+    void TestT13380();
  };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/icu4c/source/test/intltest/dtfmtrtts.h b/icu4c/source/test/intltest/dtfmtrtts.h
index 987ee9fe0f9..d1d960ce853 100644
--- a/icu4c/source/test/intltest/dtfmtrtts.h
+++ b/icu4c/source/test/intltest/dtfmtrtts.h
@@ -31,13 +31,13 @@ public:
     DateFormatRoundTripTest();
     virtual ~DateFormatRoundTripTest();
     
-    void TestDateFormatRoundTrip(void);
-    void TestCentury(void);
+    void TestDateFormatRoundTrip();
+    void TestCentury();
     void test(const Locale& loc);
     void test(DateFormat *fmt, const Locale &origLocale, UBool timeOnly = false );
     int32_t getField(UDate d, int32_t f);
     UnicodeString& escape(const UnicodeString& src, UnicodeString& dst);
-    UDate generateDate(void); 
+    UDate generateDate(); 
     UDate generateDate(UDate minDate); 
 
 
diff --git a/icu4c/source/test/intltest/dtfmttst.cpp b/icu4c/source/test/intltest/dtfmttst.cpp
index 9d86d2d804d..cb07b07f523 100644
--- a/icu4c/source/test/intltest/dtfmttst.cpp
+++ b/icu4c/source/test/intltest/dtfmttst.cpp
@@ -383,7 +383,7 @@ DateFormatTest::TestEquals()
  * Test the parsing of 2-digit years.
  */
 void
-DateFormatTest::TestTwoDigitYearDSTParse(void)
+DateFormatTest::TestTwoDigitYearDSTParse()
 {
     UErrorCode status = U_ZERO_ERROR;
     SimpleDateFormat fullFmt((UnicodeString)"EEE MMM dd HH:mm:ss.SSS zzz yyyy G", status);
@@ -2344,7 +2344,7 @@ void DateFormatTest::TestGenericTimeZoneOrder() {
   expect(XDATA, XDATA_length, en);
 }
 
-void DateFormatTest::TestZTimeZoneParsing(void) {
+void DateFormatTest::TestZTimeZoneParsing() {
     UErrorCode status = U_ZERO_ERROR;
     const Locale en("en");
     UnicodeString test;
@@ -2389,7 +2389,7 @@ void DateFormatTest::TestZTimeZoneParsing(void) {
     }
 }
 
-void DateFormatTest::TestHost(void)
+void DateFormatTest::TestHost()
 {
 #if U_PLATFORM_USES_ONLY_WIN32_API
     Win32DateTimeTest::testLocales(this);
@@ -2493,7 +2493,7 @@ void DateFormatTest::TestRelative(int daysdelta,
 }
 
 
-void DateFormatTest::TestRelative(void)
+void DateFormatTest::TestRelative()
 {
     Locale en("en");
     TestRelative( 0, en, "today");
@@ -2507,7 +2507,7 @@ void DateFormatTest::TestRelative(void)
     TestRelative( -300, en, nullptr);
 }
 
-void DateFormatTest::TestRelativeClone(void)
+void DateFormatTest::TestRelativeClone()
 {
     /*
     Verify that a cloned formatter gives the same results
@@ -2536,7 +2536,7 @@ void DateFormatTest::TestRelativeClone(void)
     delete fullClone;
 }
 
-void DateFormatTest::TestHostClone(void)
+void DateFormatTest::TestHostClone()
 {
     /*
     Verify that a cloned formatter gives the same results
@@ -2566,7 +2566,7 @@ void DateFormatTest::TestHostClone(void)
     delete fullClone;
 }
 
-void DateFormatTest::TestHebrewClone(void)
+void DateFormatTest::TestHebrewClone()
 {
     /*
     Verify that a cloned formatter gives the same results
@@ -2612,7 +2612,7 @@ static UBool getActualAndValidLocales(
     return U_SUCCESS(status);
 }
 
-void DateFormatTest::TestDateFormatSymbolsClone(void)
+void DateFormatTest::TestDateFormatSymbolsClone()
 {
     /*
     Verify that a cloned formatter gives the same results
@@ -3534,7 +3534,7 @@ void DateFormatTest::TestTimeZoneInLocale()
     }
 }
 
-void DateFormatTest::TestRoundtripWithCalendar(void) {
+void DateFormatTest::TestRoundtripWithCalendar() {
     UErrorCode status = U_ZERO_ERROR;
 
     TimeZone *tz = TimeZone::createTimeZone("Europe/Paris");
@@ -3657,7 +3657,7 @@ void DateFormatTest::TestRoundtripWithCalendar(void) {
 }
 
 /*
-void DateFormatTest::TestRelativeError(void)
+void DateFormatTest::TestRelativeError()
 {
     UErrorCode status;
     Locale en("en");
@@ -3671,13 +3671,13 @@ void DateFormatTest::TestRelativeError(void)
     }
 }
 
-void DateFormatTest::TestRelativeOther(void)
+void DateFormatTest::TestRelativeOther()
 {
     logln("Nothing in this test. When we get more data from CLDR, put in some tests of -2, +2, etc. ");
 }
 */
 
-void DateFormatTest::Test6338(void)
+void DateFormatTest::Test6338()
 {
     UErrorCode status = U_ZERO_ERROR;
 
@@ -3772,7 +3772,7 @@ void DateFormatTest::Test6338(void)
 
 }
 
-void DateFormatTest::Test6726(void)
+void DateFormatTest::Test6726()
 {
     // status
 //    UErrorCode status = U_ZERO_ERROR;
diff --git a/icu4c/source/test/intltest/dtfmttst.h b/icu4c/source/test/intltest/dtfmttst.h
index f5e07697745..f33514b9e14 100644
--- a/icu4c/source/test/intltest/dtfmttst.h
+++ b/icu4c/source/test/intltest/dtfmttst.h
@@ -33,15 +33,15 @@ public:
      *  "Test written by Wally Wedel and emailed to me."
      *  Test handling of timezone offsets
      **/
-    virtual void TestWallyWedel(void);
+    virtual void TestWallyWedel();
     /**
      * Test operator==
      */
-    virtual void TestEquals(void);
+    virtual void TestEquals();
     /**
      * Test the parsing of 2-digit years.
      */
-    virtual void TestTwoDigitYearDSTParse(void);
+    virtual void TestTwoDigitYearDSTParse();
 
 public: // package
     // internal utility routine (generates escape sequences for characters)
@@ -51,7 +51,7 @@ public:
     /**
      * Verify that returned field position indices are correct.
      */
-    void TestFieldPosition(void);
+    void TestFieldPosition();
 
     void TestGeneral();
 
@@ -65,7 +65,7 @@ public:
      * correctly.  In some instances, this means not being parsed at all, and
      * returning an appropriate error.
      */
-    virtual void TestPartialParse994(void);
+    virtual void TestPartialParse994();
 
 public: // package
     // internal test subroutine, used by TestPartialParse994
@@ -76,12 +76,12 @@ public:
      * Verify the behavior of patterns in which digits for different fields run together
      * without intervening separators.
      */
-    virtual void TestRunTogetherPattern985(void);
+    virtual void TestRunTogetherPattern985();
     /**
      * Verify the behavior of patterns in which digits for different fields run together
      * without intervening separators.
      */
-    virtual void TestRunTogetherPattern917(void);
+    virtual void TestRunTogetherPattern917();
 
 public: // package
     // internal test subroutine, used by TestRunTogetherPattern917
@@ -92,15 +92,15 @@ public:
      * Verify the handling of Czech June and July, which have the unique attribute that
      * one is a proper prefix substring of the other.
      */
-    virtual void TestCzechMonths459(void);
+    virtual void TestCzechMonths459();
     /**
      * Test the handling of 'D' in patterns.
      */
-    virtual void TestLetterDPattern212(void);
+    virtual void TestLetterDPattern212();
     /**
      * Test the day of year pattern.
      */
-    virtual void TestDayOfYearPattern195(void);
+    virtual void TestDayOfYearPattern195();
 
 public: // package
     // interl test subroutine, used by TestDayOfYearPattern195
@@ -110,11 +110,11 @@ public:
     /**
      * Test the handling of single quotes in patterns.
      */
-    virtual void TestQuotePattern161(void);
+    virtual void TestQuotePattern161();
     /**
      * Verify the correct behavior when handling invalid input strings.
      */
-    virtual void TestBadInput135(void);
+    virtual void TestBadInput135();
 
 public:
     /**
@@ -122,11 +122,11 @@ public:
      * array of patterns, with known results.  The results are encoded after
      * the input strings in each row.
      */
-    virtual void TestBadInput135a(void);
+    virtual void TestBadInput135a();
     /**
      * Test the parsing of two-digit years.
      */
-    virtual void TestTwoDigitYear(void);
+    virtual void TestTwoDigitYear();
 
 public: // package
     // internal test subroutine, used by TestTwoDigitYear
@@ -136,107 +136,107 @@ public:
     /**
      * Test the formatting of time zones.
      */
-    virtual void TestDateFormatZone061(void);
+    virtual void TestDateFormatZone061();
     /**
      * Further test the formatting of time zones.
      */
-    virtual void TestDateFormatZone146(void);
+    virtual void TestDateFormatZone146();
 
-    void TestTimeZoneStringsAPI(void);
+    void TestTimeZoneStringsAPI();
 
-    void TestGMTParsing(void);
+    void TestGMTParsing();
 
 public: // package
     /**
      * Test the formatting of dates in different locales.
      */
-    virtual void TestLocaleDateFormat(void);
+    virtual void TestLocaleDateFormat();
 
-    virtual void TestFormattingLocaleTimeSeparator(void);
+    virtual void TestFormattingLocaleTimeSeparator();
 
-    virtual void TestDateFormatCalendar(void);
+    virtual void TestDateFormatCalendar();
 
-    virtual void TestSpaceParsing(void);
+    virtual void TestSpaceParsing();
 
-    void TestExactCountFormat(void);
+    void TestExactCountFormat();
 
-    void TestWhiteSpaceParsing(void);
+    void TestWhiteSpaceParsing();
 
-    void TestInvalidPattern(void);
+    void TestInvalidPattern();
 
-    void TestGreekMay(void);
+    void TestGreekMay();
 
-    void TestGenericTime(void);
+    void TestGenericTime();
 
-    void TestGenericTimeZoneOrder(void);
+    void TestGenericTimeZoneOrder();
 
-    void Test6338(void);
+    void Test6338();
 
-    void Test6726(void);
+    void Test6726();
 
-    void Test6880(void);
+    void Test6880();
 
-    void TestISOEra(void);
+    void TestISOEra();
 
-    void TestFormalChineseDate(void);
+    void TestFormalChineseDate();
 
-    void TestStandAloneGMTParse(void);
+    void TestStandAloneGMTParse();
 
-    void TestParsePosition(void);
+    void TestParsePosition();
 
-    void TestMonthPatterns(void);
+    void TestMonthPatterns();
 
-    void TestContext(void);
+    void TestContext();
 
-    void TestNonGregoFmtParse(void);
+    void TestNonGregoFmtParse();
 
-    void TestFormatsWithNumberSystems(void);
+    void TestFormatsWithNumberSystems();
 
 public:
     /**
      * Test host-specific formatting.
      */
-    void TestHost(void);
+    void TestHost();
 
 public:
     /**
      * Test patterns added in CLDR 1.4, CLDR 23
      */
-    void TestEras(void);
+    void TestEras();
 
-    void TestNarrowNames(void);
+    void TestNarrowNames();
 
-    void TestShortDays(void);
+    void TestShortDays();
 
-    void TestStandAloneDays(void);
+    void TestStandAloneDays();
 
-    void TestStandAloneMonths(void);
+    void TestStandAloneMonths();
 
-    void TestQuarters(void);
+    void TestQuarters();
 
-    void TestZTimeZoneParsing(void);
+    void TestZTimeZoneParsing();
 
-    void TestRelativeClone(void);
+    void TestRelativeClone();
 
-    void TestHostClone(void);
+    void TestHostClone();
 
-    void TestHebrewClone(void);
+    void TestHebrewClone();
 
-    void TestDateFormatSymbolsClone(void);
+    void TestDateFormatSymbolsClone();
 
-    void TestTimeZoneDisplayName(void);
+    void TestTimeZoneDisplayName();
 
-    void TestTimeZoneInLocale(void);
+    void TestTimeZoneInLocale();
 
-    void TestRoundtripWithCalendar(void);
+    void TestRoundtripWithCalendar();
 
 public:
     /***
      * Test Relative Dates
      */
-     void TestRelative(void);
-/*   void TestRelativeError(void);
-     void TestRelativeOther(void);
+     void TestRelative();
+/*   void TestRelativeError();
+     void TestRelativeOther();
 */
 
     void TestDotAndAtLeniency();
@@ -275,7 +275,7 @@ public:
     /**
      * Test parsing a number as a string
      */
-    void TestNumberAsStringParsing(void);
+    void TestNumberAsStringParsing();
 
  private:
       void TestRelative(int daysdelta,
diff --git a/icu4c/source/test/intltest/icusvtst.cpp b/icu4c/source/test/intltest/icusvtst.cpp
index a5e60bc4db1..e8363966b37 100644
--- a/icu4c/source/test/intltest/icusvtst.cpp
+++ b/icu4c/source/test/intltest/icusvtst.cpp
@@ -828,7 +828,7 @@ class CalifornioLanguageFactory : public ICUResourceBundleFactory
     static const char* geek; // = californio ## "_GEEK";
     static Hashtable* supportedIDs; // = nullptr;
 
-    static void cleanup(void) {
+    static void cleanup() {
       delete supportedIDs;
       supportedIDs = nullptr;
     }
diff --git a/icu4c/source/test/intltest/icusvtst.h b/icu4c/source/test/intltest/icusvtst.h
index 2ba51e8b348..f651b35fa0c 100644
--- a/icu4c/source/test/intltest/icusvtst.h
+++ b/icu4c/source/test/intltest/icusvtst.h
@@ -28,13 +28,13 @@ class ICUServiceTest : public IntlTest
 
   void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = nullptr) override;
 
-  void testAPI_One(void);
-  void testAPI_Two(void);
-  void testRBF(void);
-  void testNotification(void);
-  void testLocale(void);
-  void testWrapFactory(void);
-  void testCoverage(void);
+  void testAPI_One();
+  void testAPI_Two();
+  void testRBF();
+  void testNotification();
+  void testLocale();
+  void testWrapFactory();
+  void testCoverage();
 
  private:
   UnicodeString& lrmsg(UnicodeString& result, const UnicodeString& message, const UObject* lhs, const UObject* rhs) const;
diff --git a/icu4c/source/test/intltest/idnaconf.cpp b/icu4c/source/test/intltest/idnaconf.cpp
index 0896787b225..40184482f81 100644
--- a/icu4c/source/test/intltest/idnaconf.cpp
+++ b/icu4c/source/test/intltest/idnaconf.cpp
@@ -204,7 +204,7 @@ void IdnaConfTest::Call(){
     return;
 }
 
-void IdnaConfTest::Test(void){
+void IdnaConfTest::Test(){
     UErrorCode  status  = U_ZERO_ERROR;
     //
     //  Open and read the test data file.
@@ -275,7 +275,7 @@ void IdnaConfTest::Test(void){
     Call(); // for last record
 }
 #else
-void IdnaConfTest::Test(void)
+void IdnaConfTest::Test()
 {
   // test nothing...
 }
diff --git a/icu4c/source/test/intltest/idnaconf.h b/icu4c/source/test/intltest/idnaconf.h
index a47751ddcff..35a3cad7d1f 100644
--- a/icu4c/source/test/intltest/idnaconf.h
+++ b/icu4c/source/test/intltest/idnaconf.h
@@ -25,7 +25,7 @@ public:
     IdnaConfTest();
     virtual ~IdnaConfTest();
 private:
-    void Test(void);
+    void Test();
 
     // for test file handling
     char16_t* base;
diff --git a/icu4c/source/test/intltest/incaltst.h b/icu4c/source/test/intltest/incaltst.h
index 876fb9e3a99..a29f7b316bf 100644
--- a/icu4c/source/test/intltest/incaltst.h
+++ b/icu4c/source/test/intltest/incaltst.h
@@ -22,44 +22,44 @@ public:
     // IntlTest override
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
-    void TestTypes(void);
+    void TestTypes();
 
-    void TestGregorian(void);
+    void TestGregorian();
 
-    void TestBuddhist(void);
-    void TestBuddhistFormat(void);
-    void TestBug21043Indian(void);
-    void TestBug21044Hebrew(void);
-    void TestBug21045Islamic(void);
-    void TestBug21046IslamicUmalqura(void);
+    void TestBuddhist();
+    void TestBuddhistFormat();
+    void TestBug21043Indian();
+    void TestBug21044Hebrew();
+    void TestBug21045Islamic();
+    void TestBug21046IslamicUmalqura();
 
-    void TestTaiwan(void);
+    void TestTaiwan();
 
-    void TestJapanese(void);
-    void TestJapaneseFormat(void);
-    void TestJapanese3860(void);
-    void TestForceGannenNumbering(void);
+    void TestJapanese();
+    void TestJapaneseFormat();
+    void TestJapanese3860();
+    void TestForceGannenNumbering();
     
-    void TestPersian(void);
-    void TestPersianFormat(void);
+    void TestPersian();
+    void TestPersianFormat();
 
-    void TestConsistencyGregorian(void);
-    void TestConsistencyCoptic(void);
-    void TestConsistencyEthiopic(void);
-    void TestConsistencyROC(void);
-    void TestConsistencyChinese(void);
-    void TestConsistencyDangi(void);
-    void TestConsistencyBuddhist(void);
-    void TestConsistencyEthiopicAmeteAlem(void);
-    void TestConsistencyHebrew(void);
-    void TestConsistencyIndian(void);
-    void TestConsistencyIslamic(void);
-    void TestConsistencyIslamicCivil(void);
-    void TestConsistencyIslamicRGSA(void);
-    void TestConsistencyIslamicTBLA(void);
-    void TestConsistencyIslamicUmalqura(void);
-    void TestConsistencyPersian(void);
-    void TestConsistencyJapanese(void);
+    void TestConsistencyGregorian();
+    void TestConsistencyCoptic();
+    void TestConsistencyEthiopic();
+    void TestConsistencyROC();
+    void TestConsistencyChinese();
+    void TestConsistencyDangi();
+    void TestConsistencyBuddhist();
+    void TestConsistencyEthiopicAmeteAlem();
+    void TestConsistencyHebrew();
+    void TestConsistencyIndian();
+    void TestConsistencyIslamic();
+    void TestConsistencyIslamicCivil();
+    void TestConsistencyIslamicRGSA();
+    void TestConsistencyIslamicTBLA();
+    void TestConsistencyIslamicUmalqura();
+    void TestConsistencyPersian();
+    void TestConsistencyJapanese();
 
  protected:
     // Test a Gregorian-Like calendar
diff --git a/icu4c/source/test/intltest/intltest.cpp b/icu4c/source/test/intltest/intltest.cpp
index 4b1d889a4d9..e831fd0dfcd 100644
--- a/icu4c/source/test/intltest/intltest.cpp
+++ b/icu4c/source/test/intltest/intltest.cpp
@@ -514,7 +514,7 @@ void it_logln( UnicodeString message )
         IntlTest::gTest->logln( message );
 }
 
-void it_logln( void )
+void it_logln()
 {
     if (IntlTest::gTest)
         IntlTest::gTest->logln();
@@ -532,7 +532,7 @@ void it_infoln( UnicodeString message )
         IntlTest::gTest->infoln( message );
 }
 
-void it_infoln( void )
+void it_infoln()
 {
     if (IntlTest::gTest)
         IntlTest::gTest->infoln();
@@ -679,12 +679,12 @@ int32_t IntlTest::setThreadCount( int32_t count )
     return rval;
 }
 
-int32_t IntlTest::getErrors( void )
+int32_t IntlTest::getErrors()
 {
     return errorCount;
 }
 
-int32_t IntlTest::getDataErrors( void )
+int32_t IntlTest::getDataErrors()
 {
     return dataErrorCount;
 }
@@ -868,7 +868,7 @@ void IntlTest::logln( const UnicodeString &message )
     }
 }
 
-void IntlTest::logln( void )
+void IntlTest::logln()
 {
     if( verbose ) {
         LL_message( "", true );
@@ -892,19 +892,19 @@ void IntlTest::infoln( const UnicodeString &message )
   LL_message( message, true );
 }
 
-void IntlTest::infoln( void )
+void IntlTest::infoln()
 {
   LL_message( "", true );
 }
 
-int32_t IntlTest::IncErrorCount( void )
+int32_t IntlTest::IncErrorCount()
 {
     errorCount++;
     if (caller) caller->IncErrorCount();
     return errorCount;
 }
 
-int32_t IntlTest::IncDataErrorCount( void )
+int32_t IntlTest::IncDataErrorCount()
 {
     dataErrorCount++;
     if (caller) caller->IncDataErrorCount();
@@ -1183,7 +1183,7 @@ void IntlTest::LL_message( UnicodeString message, UBool newline )
 /**
 * Print a usage message for this test class.
 */
-void IntlTest::usage( void )
+void IntlTest::usage()
 {
     UBool save_verbose = setVerbose( true );
     logln("Test names:");
diff --git a/icu4c/source/test/intltest/intltest.h b/icu4c/source/test/intltest/intltest.h
index 93b7d2376bd..32f468e3fa7 100644
--- a/icu4c/source/test/intltest/intltest.h
+++ b/icu4c/source/test/intltest/intltest.h
@@ -153,8 +153,8 @@ public:
     virtual UBool setWriteGoldenData( UBool write_golden_data = true );
     virtual int32_t setThreadCount( int32_t count = 1);
 
-    virtual int32_t getErrors( void );
-    virtual int32_t getDataErrors (void );
+    virtual int32_t getErrors();
+    virtual int32_t getDataErrors();
 
     virtual void setCaller( IntlTest* callingTest ); // for internal use only
     virtual void setPath( char* path ); // for internal use only
@@ -163,7 +163,7 @@ public:
 
     virtual void logln( const UnicodeString &message ) override;
 
-    virtual void logln( void );
+    virtual void logln();
 
     /**
      * Logs that an issue is known. Can be called multiple times.
@@ -201,9 +201,9 @@ public:
 
     virtual void infoln( const UnicodeString &message );
 
-    virtual void infoln( void );
+    virtual void infoln();
 
-    virtual void err(void);
+    virtual void err();
 
     virtual void err( const UnicodeString &message );
 
@@ -239,7 +239,7 @@ public:
     // print known issues. return true if there were any.
     UBool printKnownIssues();
 
-    virtual void usage( void ) ;
+    virtual void usage() ;
 
     /**
      * Returns a uniform random value x, with 0.0 <= x < 1.0.  Use
@@ -361,9 +361,9 @@ public:
 
     virtual UBool runTestLoop( char* testname, char* par, char *baseName );
 
-    virtual int32_t IncErrorCount( void );
+    virtual int32_t IncErrorCount();
 
-    virtual int32_t IncDataErrorCount( void );
+    virtual int32_t IncDataErrorCount();
 
     virtual UBool callTest( IntlTest& testToBeCalled, char* par );
 
@@ -433,11 +433,11 @@ public:
 
 void it_log( UnicodeString message );
 void it_logln( UnicodeString message );
-void it_logln( void );
+void it_logln();
 void it_info( UnicodeString message );
 void it_infoln( UnicodeString message );
-void it_infoln( void );
-void it_err(void);
+void it_infoln();
+void it_err();
 void it_err( UnicodeString message );
 void it_errln( UnicodeString message );
 void it_dataerr( UnicodeString message );
diff --git a/icu4c/source/test/intltest/itrbnf.cpp b/icu4c/source/test/intltest/itrbnf.cpp
index fbeb84d9b28..1dfefad83bf 100644
--- a/icu4c/source/test/intltest/itrbnf.cpp
+++ b/icu4c/source/test/intltest/itrbnf.cpp
@@ -1768,7 +1768,7 @@ IntlTestRBNF::TestSmallValues()
 }
 
 void 
-IntlTestRBNF::TestLocalizations(void)
+IntlTestRBNF::TestLocalizations()
 {
     int i;
     UnicodeString rules("%main:0:no;1:some;100:a lot;1000:tons;\n"
@@ -2003,7 +2003,7 @@ IntlTestRBNF::TestAllLocales()
 }
 
 void 
-IntlTestRBNF::TestMultiplierSubstitution(void) {
+IntlTestRBNF::TestMultiplierSubstitution() {
     UnicodeString rules("=#,##0=;1,000,000: <##0.###< million;");
     UErrorCode status = U_ZERO_ERROR;
     UParseError parse_error;
diff --git a/icu4c/source/test/intltest/jacoll.cpp b/icu4c/source/test/intltest/jacoll.cpp
index f297fc85cde..affdf4f6612 100644
--- a/icu4c/source/test/intltest/jacoll.cpp
+++ b/icu4c/source/test/intltest/jacoll.cpp
@@ -127,7 +127,7 @@ void CollationKanaTest::TestBase()
 }
 
 /* Testing plain, Daku-ten, Handaku-ten letters */
-void CollationKanaTest::TestPlainDakutenHandakuten(void)
+void CollationKanaTest::TestPlainDakutenHandakuten()
 {
     int32_t i;
     myCollation->setStrength(Collator::SECONDARY);
@@ -139,7 +139,7 @@ void CollationKanaTest::TestPlainDakutenHandakuten(void)
 /* 
 * Test Small, Large letters
 */
-void CollationKanaTest::TestSmallLarge(void)
+void CollationKanaTest::TestSmallLarge()
 {
   int32_t i;
   UErrorCode status = U_ZERO_ERROR;
@@ -152,7 +152,7 @@ void CollationKanaTest::TestSmallLarge(void)
 /*
 * Test Katakana, Hiragana letters
 */
-void CollationKanaTest::TestKatakanaHiragana(void)
+void CollationKanaTest::TestKatakanaHiragana()
 {
   int32_t i;
   UErrorCode status = U_ZERO_ERROR;
@@ -167,7 +167,7 @@ void CollationKanaTest::TestKatakanaHiragana(void)
 /*
 * Test Choo-on kigoo
 */
-void CollationKanaTest::TestChooonKigoo(void)
+void CollationKanaTest::TestChooonKigoo()
 {
   int32_t i;
   UErrorCode status = U_ZERO_ERROR;
diff --git a/icu4c/source/test/intltest/jamotest.cpp b/icu4c/source/test/intltest/jamotest.cpp
index 90ca4c855d1..b3f8c0f1d3d 100644
--- a/icu4c/source/test/intltest/jamotest.cpp
+++ b/icu4c/source/test/intltest/jamotest.cpp
@@ -153,7 +153,7 @@ JamoTest::TestJamo() {
  * Test various step-at-a-time transformation of hangul to jamo to
  * latin and back.
  */
-void JamoTest::TestPiecemeal(void) {
+void JamoTest::TestPiecemeal() {
     UnicodeString hangul; hangul.append((char16_t)0xBC0F);
     UnicodeString jamo = nameToJamo("(Mi)(I)(Cf)");
     UnicodeString latin("mic");
diff --git a/icu4c/source/test/intltest/jamotest.h b/icu4c/source/test/intltest/jamotest.h
index b0e7df354fd..14da2f1b0bf 100644
--- a/icu4c/source/test/intltest/jamotest.h
+++ b/icu4c/source/test/intltest/jamotest.h
@@ -33,11 +33,11 @@ private:
     void runIndexedTest(int32_t index, UBool exec, const char* &name,
                         char* par=nullptr) override;
 
-    void TestJamo(void);
+    void TestJamo();
     
-    void TestRealText(void);
+    void TestRealText();
 
-    void TestPiecemeal(void);
+    void TestPiecemeal();
 
     //======================================================================
     // Support methods
diff --git a/icu4c/source/test/intltest/localebuildertest.h b/icu4c/source/test/intltest/localebuildertest.h
index 43d930e2e43..124ffa4e28a 100644
--- a/icu4c/source/test/intltest/localebuildertest.h
+++ b/icu4c/source/test/intltest/localebuildertest.h
@@ -15,37 +15,37 @@ class LocaleBuilderTest: public IntlTest {
 
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = nullptr ) override;
 
-    void TestAddRemoveUnicodeLocaleAttribute(void);
-    void TestAddRemoveUnicodeLocaleAttributeWellFormed(void);
-    void TestAddUnicodeLocaleAttributeIllFormed(void);
-    void TestLocaleBuilder(void);
-    void TestLocaleBuilderBasic(void);
-    void TestLocaleBuilderBasicWithExtensionsOnDefaultLocale(void);
-    void TestPosixCases(void);
-    void TestSetExtensionOthers(void);
-    void TestSetExtensionPU(void);
-    void TestSetExtensionT(void);
-    void TestSetExtensionU(void);
-    void TestSetExtensionValidateOthersIllFormed(void);
-    void TestSetExtensionValidateOthersWellFormed(void);
-    void TestSetExtensionValidatePUIllFormed(void);
-    void TestSetExtensionValidatePUWellFormed(void);
-    void TestSetExtensionValidateTIllFormed(void);
-    void TestSetExtensionValidateTWellFormed(void);
-    void TestSetExtensionValidateUIllFormed(void);
-    void TestSetExtensionValidateUWellFormed(void);
-    void TestSetLanguageIllFormed(void);
-    void TestSetLanguageWellFormed(void);
-    void TestSetLocale(void);
-    void TestSetRegionIllFormed(void);
-    void TestSetRegionWellFormed(void);
-    void TestSetScriptIllFormed(void);
-    void TestSetScriptWellFormed(void);
-    void TestSetUnicodeLocaleKeywordIllFormedKey(void);
-    void TestSetUnicodeLocaleKeywordIllFormedValue(void);
-    void TestSetUnicodeLocaleKeywordWellFormed(void);
-    void TestSetVariantIllFormed(void);
-    void TestSetVariantWellFormed(void);
+    void TestAddRemoveUnicodeLocaleAttribute();
+    void TestAddRemoveUnicodeLocaleAttributeWellFormed();
+    void TestAddUnicodeLocaleAttributeIllFormed();
+    void TestLocaleBuilder();
+    void TestLocaleBuilderBasic();
+    void TestLocaleBuilderBasicWithExtensionsOnDefaultLocale();
+    void TestPosixCases();
+    void TestSetExtensionOthers();
+    void TestSetExtensionPU();
+    void TestSetExtensionT();
+    void TestSetExtensionU();
+    void TestSetExtensionValidateOthersIllFormed();
+    void TestSetExtensionValidateOthersWellFormed();
+    void TestSetExtensionValidatePUIllFormed();
+    void TestSetExtensionValidatePUWellFormed();
+    void TestSetExtensionValidateTIllFormed();
+    void TestSetExtensionValidateTWellFormed();
+    void TestSetExtensionValidateUIllFormed();
+    void TestSetExtensionValidateUWellFormed();
+    void TestSetLanguageIllFormed();
+    void TestSetLanguageWellFormed();
+    void TestSetLocale();
+    void TestSetRegionIllFormed();
+    void TestSetRegionWellFormed();
+    void TestSetScriptIllFormed();
+    void TestSetScriptWellFormed();
+    void TestSetUnicodeLocaleKeywordIllFormedKey();
+    void TestSetUnicodeLocaleKeywordIllFormedValue();
+    void TestSetUnicodeLocaleKeywordWellFormed();
+    void TestSetVariantIllFormed();
+    void TestSetVariantWellFormed();
 
  private:
     void Verify(LocaleBuilder& bld, const char* expected, const char* msg);
diff --git a/icu4c/source/test/intltest/locnmtst.h b/icu4c/source/test/intltest/locnmtst.h
index 0679638407c..ab6867d0e4c 100644
--- a/icu4c/source/test/intltest/locnmtst.h
+++ b/icu4c/source/test/intltest/locnmtst.h
@@ -23,22 +23,22 @@ public:
     /**
      * Test methods to set and get data fields
      **/
-    void TestCreate(void);
-    void TestCreateDialect(void);
-    void TestWithKeywordsAndEverything(void);
-    void TestUldnOpen(void);
-    void TestUldnOpenDialect(void);
-    void TestUldnWithKeywordsAndEverything(void);
-    void TestUldnComponents(void);
-    void TestRootEtc(void);
-    void TestCurrencyKeyword(void);
-    void TestUnknownCurrencyKeyword(void);
-    void TestUntranslatedKeywords(void);
-    void TestPrivateUse(void);
-    void TestUldnDisplayContext(void);
-    void TestUldnWithGarbage(void);
-    void TestSubstituteHandling(void);
-    void TestNumericRegionID(void);
+    void TestCreate();
+    void TestCreateDialect();
+    void TestWithKeywordsAndEverything();
+    void TestUldnOpen();
+    void TestUldnOpenDialect();
+    void TestUldnWithKeywordsAndEverything();
+    void TestUldnComponents();
+    void TestRootEtc();
+    void TestCurrencyKeyword();
+    void TestUnknownCurrencyKeyword();
+    void TestUntranslatedKeywords();
+    void TestPrivateUse();
+    void TestUldnDisplayContext();
+    void TestUldnWithGarbage();
+    void TestSubstituteHandling();
+    void TestNumericRegionID();
 
     void VerifySubstitute(LocaleDisplayNames* ldn);
     void VerifyNoSubstitute(LocaleDisplayNames* ldn);
diff --git a/icu4c/source/test/intltest/loctest.cpp b/icu4c/source/test/intltest/loctest.cpp
index 0c61fadd7f3..23dda8bc263 100644
--- a/icu4c/source/test/intltest/loctest.cpp
+++ b/icu4c/source/test/intltest/loctest.cpp
@@ -3867,7 +3867,7 @@ LocaleTest::TestAddLikelyAndMinimizeSubtags() {
 
 
 void
-LocaleTest::TestKeywordVariants(void) {
+LocaleTest::TestKeywordVariants() {
     static const struct {
         const char *localeID;
         const char *expectedLocaleID;
@@ -3975,7 +3975,7 @@ LocaleTest::TestKeywordVariants(void) {
 
 
 void
-LocaleTest::TestCreateUnicodeKeywords(void) {
+LocaleTest::TestCreateUnicodeKeywords() {
     IcuTestErrorCode status(*this, "TestCreateUnicodeKeywords()");
 
     static const Locale l("de@calendar=buddhist;collation=phonebook");
@@ -4031,7 +4031,7 @@ LocaleTest::TestCreateUnicodeKeywords(void) {
 
 
 void
-LocaleTest::TestKeywordVariantParsing(void) {
+LocaleTest::TestKeywordVariantParsing() {
     static const struct {
         const char *localeID;
         const char *keyword;
@@ -4062,7 +4062,7 @@ LocaleTest::TestKeywordVariantParsing(void) {
 }
 
 void
-LocaleTest::TestCreateKeywordSet(void) {
+LocaleTest::TestCreateKeywordSet() {
     IcuTestErrorCode status(*this, "TestCreateKeywordSet()");
 
     static const Locale l("de@calendar=buddhist;collation=phonebook");
@@ -4081,7 +4081,7 @@ LocaleTest::TestCreateKeywordSet(void) {
 }
 
 void
-LocaleTest::TestCreateKeywordSetEmpty(void) {
+LocaleTest::TestCreateKeywordSetEmpty() {
     IcuTestErrorCode status(*this, "TestCreateKeywordSetEmpty()");
 
     static const Locale l("de");
@@ -4096,7 +4096,7 @@ LocaleTest::TestCreateKeywordSetEmpty(void) {
 }
 
 void
-LocaleTest::TestCreateKeywordSetWithPrivateUse(void) {
+LocaleTest::TestCreateKeywordSetWithPrivateUse() {
     IcuTestErrorCode status(*this, "TestCreateKeywordSetWithPrivateUse()");
 
     static const char tag[] = "en-US-u-ca-gregory-x-foo";
@@ -4117,7 +4117,7 @@ LocaleTest::TestCreateKeywordSetWithPrivateUse(void) {
 }
 
 void
-LocaleTest::TestCreateUnicodeKeywordSet(void) {
+LocaleTest::TestCreateUnicodeKeywordSet() {
     IcuTestErrorCode status(*this, "TestCreateUnicodeKeywordSet()");
 
     static const Locale l("de@calendar=buddhist;collation=phonebook");
@@ -4136,7 +4136,7 @@ LocaleTest::TestCreateUnicodeKeywordSet(void) {
 }
 
 void
-LocaleTest::TestCreateUnicodeKeywordSetEmpty(void) {
+LocaleTest::TestCreateUnicodeKeywordSetEmpty() {
     IcuTestErrorCode status(*this, "TestCreateUnicodeKeywordSetEmpty()");
 
     static const Locale l("de");
@@ -4151,7 +4151,7 @@ LocaleTest::TestCreateUnicodeKeywordSetEmpty(void) {
 }
 
 void
-LocaleTest::TestCreateUnicodeKeywordSetWithPrivateUse(void) {
+LocaleTest::TestCreateUnicodeKeywordSetWithPrivateUse() {
     IcuTestErrorCode status(*this, "TestCreateUnicodeKeywordSetWithPrivateUse()");
 
     static const char tag[] = "en-US-u-ca-gregory-x-foo";
@@ -4171,7 +4171,7 @@ LocaleTest::TestCreateUnicodeKeywordSetWithPrivateUse(void) {
 }
 
 void
-LocaleTest::TestGetKeywordValueStdString(void) {
+LocaleTest::TestGetKeywordValueStdString() {
     IcuTestErrorCode status(*this, "TestGetKeywordValueStdString()");
 
     static const char tag[] = "fa-u-nu-latn";
@@ -4187,7 +4187,7 @@ LocaleTest::TestGetKeywordValueStdString(void) {
 }
 
 void
-LocaleTest::TestGetUnicodeKeywordValueStdString(void) {
+LocaleTest::TestGetUnicodeKeywordValueStdString() {
     IcuTestErrorCode status(*this, "TestGetUnicodeKeywordValueStdString()");
 
     static const char keyword[] = "co";
@@ -4201,7 +4201,7 @@ LocaleTest::TestGetUnicodeKeywordValueStdString(void) {
 }
 
 void
-LocaleTest::TestSetKeywordValue(void) {
+LocaleTest::TestSetKeywordValue() {
     static const struct {
         const char *keyword;
         const char *value;
@@ -4254,7 +4254,7 @@ LocaleTest::TestSetKeywordValue(void) {
 }
 
 void
-LocaleTest::TestSetKeywordValueStringPiece(void) {
+LocaleTest::TestSetKeywordValueStringPiece() {
     IcuTestErrorCode status(*this, "TestSetKeywordValueStringPiece()");
     Locale l(Locale::getGerman());
 
@@ -4266,7 +4266,7 @@ LocaleTest::TestSetKeywordValueStringPiece(void) {
 }
 
 void
-LocaleTest::TestSetUnicodeKeywordValueStringPiece(void) {
+LocaleTest::TestSetUnicodeKeywordValueStringPiece() {
     IcuTestErrorCode status(*this, "TestSetUnicodeKeywordValueStringPiece()");
     Locale l(Locale::getGerman());
 
@@ -4301,7 +4301,7 @@ LocaleTest::TestSetUnicodeKeywordValueStringPiece(void) {
 }
 
 void
-LocaleTest::TestGetBaseName(void) {
+LocaleTest::TestGetBaseName() {
     static const struct {
         const char *localeID;
         const char *baseName;
@@ -4391,7 +4391,7 @@ void LocaleTest::_checklocs(const char* label,
     }
 }
 
-void LocaleTest::TestGetLocale(void) {
+void LocaleTest::TestGetLocale() {
 #if !UCONFIG_NO_SERVICE
     const char *req;
     Locale valid, actual, reqLoc;
@@ -4736,7 +4736,7 @@ void LocaleTest::checkRegisteredCollators(const char *expectExtra) {
 
 
 
-void LocaleTest::TestVariantWithOutCountry(void) {
+void LocaleTest::TestVariantWithOutCountry() {
     Locale loc("en","","POSIX");
     if (0 != strcmp(loc.getVariant(), "POSIX")) {
         errln("FAIL: en__POSIX didn't get parsed correctly - name is %s - expected %s got %s", loc.getName(), "POSIX", loc.getVariant());
@@ -4777,7 +4777,7 @@ static Locale _canonicalize(int32_t selector, /* 0==createFromName, 1==createCan
     }
 }
 
-void LocaleTest::TestCanonicalization(void)
+void LocaleTest::TestCanonicalization()
 {
     static const struct {
         const char *localeID;    /* input */
@@ -4898,7 +4898,7 @@ void LocaleTest::TestCanonicalization(void)
     }
 }
 
-void LocaleTest::TestCanonicalize(void)
+void LocaleTest::TestCanonicalize()
 {
     static const struct {
         const char *localeID;    /* input */
@@ -5055,7 +5055,7 @@ void LocaleTest::TestCanonicalize(void)
     }
 }
 
-void LocaleTest::TestCurrencyByDate(void)
+void LocaleTest::TestCurrencyByDate()
 {
 #if !UCONFIG_NO_FORMATTING
     UErrorCode status = U_ZERO_ERROR;
@@ -5369,7 +5369,7 @@ void LocaleTest::TestCurrencyByDate(void)
 #endif
 }
 
-void LocaleTest::TestGetVariantWithKeywords(void)
+void LocaleTest::TestGetVariantWithKeywords()
 {
   Locale l("en_US_VALLEY@foo=value");
   const char *variant = l.getVariant();
diff --git a/icu4c/source/test/intltest/loctest.h b/icu4c/source/test/intltest/loctest.h
index e9eb2113c71..7d1af3cd615 100644
--- a/icu4c/source/test/intltest/loctest.h
+++ b/icu4c/source/test/intltest/loctest.h
@@ -22,102 +22,102 @@ public:
     /**
      * Test methods to set and get data fields
      **/
-    void TestBasicGetters(void);
+    void TestBasicGetters();
     /**
      * Test methods to set and get data fields
      **/
-    void TestParallelAPIValues(void);
+    void TestParallelAPIValues();
     /**
      * Use Locale to access Resource file data and compare against expected values
      **/
-    void TestSimpleResourceInfo(void);
+    void TestSimpleResourceInfo();
     /**
      * Use Locale to access Resource file display names and compare against expected values
      **/
-    void TestDisplayNames(void);
+    void TestDisplayNames();
     /**
      * Test methods for basic object behaviour
      **/
-    void TestSimpleObjectStuff(void);
+    void TestSimpleObjectStuff();
     /**
      * Test methods for POSIX parsing behavior
      **/
-    void TestPOSIXParsing(void);
+    void TestPOSIXParsing();
     /**
      * Test Locale::getAvailableLocales
      **/
-    void TestGetAvailableLocales(void);
+    void TestGetAvailableLocales();
     /**
      * Test methods to set and access a custom data directory
      **/
-    void TestDataDirectory(void);
+    void TestDataDirectory();
 
-    void TestISO3Fallback(void);
-    void TestGetLangsAndCountries(void);
-    void TestSimpleDisplayNames(void);
-    void TestUninstalledISO3Names(void);
-    void TestAtypicalLocales(void);
+    void TestISO3Fallback();
+    void TestGetLangsAndCountries();
+    void TestSimpleDisplayNames();
+    void TestUninstalledISO3Names();
+    void TestAtypicalLocales();
 #if !UCONFIG_NO_FORMATTING
-    void TestThaiCurrencyFormat(void);
-    void TestEuroSupport(void);
+    void TestThaiCurrencyFormat();
+    void TestEuroSupport();
 #endif
-    void TestToString(void);
+    void TestToString();
 #if !UCONFIG_NO_FORMATTING
-    void Test4139940(void);
-    void Test4143951(void);
+    void Test4139940();
+    void Test4143951();
 #endif
-    void Test4147315(void);
-    void Test4147317(void);
-    void Test4147552(void);
+    void Test4147315();
+    void Test4147317();
+    void Test4147552();
 
     void Test20639_DeprecatesISO3Language();
     
-    void TestVariantParsing(void);
+    void TestVariantParsing();
 
    /* Test getting keyword enumeration */
-   void TestKeywordVariants(void);
-   void TestCreateUnicodeKeywords(void);
+   void TestKeywordVariants();
+   void TestCreateUnicodeKeywords();
 
    /* Test getting keyword values */
-   void TestKeywordVariantParsing(void);
-   void TestCreateKeywordSet(void);
-   void TestCreateKeywordSetEmpty(void);
-   void TestCreateKeywordSetWithPrivateUse(void);
-   void TestCreateUnicodeKeywordSet(void);
-   void TestCreateUnicodeKeywordSetEmpty(void);
-   void TestCreateUnicodeKeywordSetWithPrivateUse(void);
-   void TestGetKeywordValueStdString(void);
-   void TestGetUnicodeKeywordValueStdString(void);
+   void TestKeywordVariantParsing();
+   void TestCreateKeywordSet();
+   void TestCreateKeywordSetEmpty();
+   void TestCreateKeywordSetWithPrivateUse();
+   void TestCreateUnicodeKeywordSet();
+   void TestCreateUnicodeKeywordSetEmpty();
+   void TestCreateUnicodeKeywordSetWithPrivateUse();
+   void TestGetKeywordValueStdString();
+   void TestGetUnicodeKeywordValueStdString();
 
    /* Test setting keyword values */
-   void TestSetKeywordValue(void);
-   void TestSetKeywordValueStringPiece(void);
-   void TestSetUnicodeKeywordValueStringPiece(void);
+   void TestSetKeywordValue();
+   void TestSetKeywordValueStringPiece();
+   void TestSetUnicodeKeywordValueStringPiece();
 
    /* Test getting the locale base name */
-   void TestGetBaseName(void);
+   void TestGetBaseName();
     
 #if !UCONFIG_NO_FORMATTING
-    void Test4105828(void) ;
+    void Test4105828() ;
 #endif
 
-    void TestSetIsBogus(void);
+    void TestSetIsBogus();
 
-    void TestGetLocale(void);
+    void TestGetLocale();
 
-    void TestVariantWithOutCountry(void);
+    void TestVariantWithOutCountry();
 
-    void TestCanonicalization(void);
+    void TestCanonicalization();
 
-    void TestCanonicalize(void);
+    void TestCanonicalize();
 
 #if !UCONFIG_NO_FORMATTING
     static UDate date(int32_t y, int32_t m, int32_t d, int32_t hr = 0, int32_t min = 0, int32_t sec = 0);
 #endif
 
-    void TestCurrencyByDate(void);
+    void TestCurrencyByDate();
 
-    void TestGetVariantWithKeywords(void);
+    void TestGetVariantWithKeywords();
     void TestIsRightToLeft();
     void TestBug11421();
     void TestBug13277();
@@ -177,7 +177,7 @@ private:
     /**
      * additional initialization for datatables storing expected values
      **/
-    void setUpDataTable(void);
+    void setUpDataTable();
 
     UnicodeString** dataTable;
     
diff --git a/icu4c/source/test/intltest/miscdtfm.h b/icu4c/source/test/intltest/miscdtfm.h
index 8eaefed561a..afb1916fc23 100644
--- a/icu4c/source/test/intltest/miscdtfm.h
+++ b/icu4c/source/test/intltest/miscdtfm.h
@@ -24,9 +24,9 @@ class DateFormatMiscTests : public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-    void test4097450(void);
-    void test4099975(void);
-    void test4117335(void);
+    void test4097450();
+    void test4099975();
+    void test4117335();
 
 protected:
     UBool failure(UErrorCode status, const char* msg);
diff --git a/icu4c/source/test/intltest/msfmrgts.h b/icu4c/source/test/intltest/msfmrgts.h
index 72ea6f5ba44..ec4ed7c126d 100644
--- a/icu4c/source/test/intltest/msfmrgts.h
+++ b/icu4c/source/test/intltest/msfmrgts.h
@@ -24,29 +24,29 @@ class MessageFormatRegressionTest: public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-    void Test4074764(void);
-    void Test4058973(void);
-    void Test4031438(void);
-    void Test4052223(void);
-    void Test4104976(void);
-    void Test4106659(void);
-    void Test4106660(void);
-    void Test4111739(void);
-    void Test4114743(void);
-    void Test4116444(void);
-    void Test4114739(void);
-    void Test4113018(void);
-    void Test4106661(void);
-    void Test4094906(void);
-    void Test4118592(void);
-    void Test4118594(void);
-    void Test4105380(void);
-    void Test4120552(void);
-    void Test4142938(void);
-    void TestChoicePatternQuote(void);
-    void Test4112104(void);
-    void TestICU12584(void);
-    void TestAPI(void);
+    void Test4074764();
+    void Test4058973();
+    void Test4031438();
+    void Test4052223();
+    void Test4104976();
+    void Test4106659();
+    void Test4106660();
+    void Test4111739();
+    void Test4114743();
+    void Test4116444();
+    void Test4114739();
+    void Test4113018();
+    void Test4106661();
+    void Test4094906();
+    void Test4118592();
+    void Test4118594();
+    void Test4105380();
+    void Test4120552();
+    void Test4142938();
+    void TestChoicePatternQuote();
+    void Test4112104();
+    void TestICU12584();
+    void TestAPI();
 
 protected:
     UBool failure(UErrorCode status, const char* msg, UBool possibleDataError=false);
diff --git a/icu4c/source/test/intltest/nmfmtrt.h b/icu4c/source/test/intltest/nmfmtrt.h
index 6585693eb13..0f7e17f059b 100644
--- a/icu4c/source/test/intltest/nmfmtrt.h
+++ b/icu4c/source/test/intltest/nmfmtrt.h
@@ -35,7 +35,7 @@ public:
     static double min_numeric_error;
 
 
-    void start(void);
+    void start();
 
     void test(NumberFormat *fmt);
     void test(NumberFormat *fmt, double value);
diff --git a/icu4c/source/test/intltest/normconf.cpp b/icu4c/source/test/intltest/normconf.cpp
index e29fae9f058..8de551480bf 100644
--- a/icu4c/source/test/intltest/normconf.cpp
+++ b/icu4c/source/test/intltest/normconf.cpp
@@ -649,7 +649,7 @@ UBool NormalizerConformanceTest::hexsplit(const char *s, char delimiter,
 // Specific tests for debugging.  These are generally failures taken from
 // the conformance file, but culled out to make debugging easier.
 
-void NormalizerConformanceTest::TestCase6(void) {
+void NormalizerConformanceTest::TestCase6() {
     _testOneLine("0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301;");
 }
 
diff --git a/icu4c/source/test/intltest/normconf.h b/icu4c/source/test/intltest/normconf.h
index b027783bf6e..a4f90b5ca14 100644
--- a/icu4c/source/test/intltest/normconf.h
+++ b/icu4c/source/test/intltest/normconf.h
@@ -40,7 +40,7 @@ class NormalizerConformanceTest : public IntlTest {
 
     // Specific tests for debugging.  These are generally failures taken from
     // the conformance file, but culled out to make debugging easier.
-    void TestCase6(void);
+    void TestCase6();
 
  private:
     FileStream *openNormalizationTestFile(const char *filename);
diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp
index f2c5d2b63cf..ebd89cae9f6 100644
--- a/icu4c/source/test/intltest/numfmtst.cpp
+++ b/icu4c/source/test/intltest/numfmtst.cpp
@@ -260,7 +260,7 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
 
 // Test API (increase code coverage)
 void
-NumberFormatTest::TestAPI(void)
+NumberFormatTest::TestAPI()
 {
   logln("Test API");
   UErrorCode status = U_ZERO_ERROR;
@@ -329,7 +329,7 @@ public:
     virtual void parse( const UnicodeString& ,
                         Formattable& ,
                         UErrorCode& ) const override {}
-    virtual UClassID getDynamicClassID(void) const override {
+    virtual UClassID getDynamicClassID() const override {
         static char classID = 0;
         return (UClassID)&classID;
     }
@@ -337,7 +337,7 @@ public:
 };
 
 void
-NumberFormatTest::TestCoverage(void){
+NumberFormatTest::TestCoverage(){
     StubNumberFormat stub;
     UnicodeString agent("agent");
     FieldPosition pos;
@@ -401,7 +401,7 @@ void NumberFormatTest::TestLocalizedPatternSymbolCoverage() {
 
 // Test various patterns
 void
-NumberFormatTest::TestPatterns(void)
+NumberFormatTest::TestPatterns()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols sym(Locale::getUS(), status);
@@ -457,7 +457,7 @@ icu_2_4::DigitList::operator!= 0 0 1 icuuc24d.dll digitlst.h Doug
 */
 /*
 void
-NumberFormatTest::TestDigitList(void)
+NumberFormatTest::TestDigitList()
 {
   // API coverage for DigitList
   DigitList list1;
@@ -478,7 +478,7 @@ NumberFormatTest::TestDigitList(void)
 
 // Test exponential pattern
 void
-NumberFormatTest::TestExponential(void)
+NumberFormatTest::TestExponential()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols sym(Locale::getUS(), status);
@@ -796,7 +796,7 @@ NumberFormatTest::TestInt64() {
 
 // Test the handling of quotes
 void
-NumberFormatTest::TestQuotes(void)
+NumberFormatTest::TestQuotes()
 {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString *pat;
@@ -835,7 +835,7 @@ NumberFormatTest::TestQuotes(void)
  * Test the handling of the currency symbol in patterns.
  */
 void
-NumberFormatTest::TestCurrencySign(void)
+NumberFormatTest::TestCurrencySign()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols* sym = new DecimalFormatSymbols(Locale::getUS(), status);
@@ -925,7 +925,7 @@ static const char* testCases[][2]= {
  * Test localized currency patterns.
  */
 void
-NumberFormatTest::TestCurrency(void)
+NumberFormatTest::TestCurrency()
 {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat* currencyFmt = NumberFormat::createCurrencyInstance(Locale::getCanadaFrench(), status);
@@ -1050,7 +1050,7 @@ void NumberFormatTest::TestCurrencyObject() {
  * Do rudimentary testing of parsing.
  */
 void
-NumberFormatTest::TestParse(void)
+NumberFormatTest::TestParse()
 {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString arg("0");
@@ -1138,7 +1138,7 @@ static const char *strictFailureTestCases[] = {
  * Test lenient parsing.
  */
 void
-NumberFormatTest::TestLenientParse(void)
+NumberFormatTest::TestLenientParse()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *format = new DecimalFormat("(#,##0)", status);
@@ -1333,7 +1333,7 @@ NumberFormatTest::TestLenientParse(void)
  * Test proper rounding by the format method.
  */
 void
-NumberFormatTest::TestRounding487(void)
+NumberFormatTest::TestRounding487()
 {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf = NumberFormat::createInstance(status);
@@ -1356,7 +1356,7 @@ NumberFormatTest::TestRounding487(void)
 /**
  * Test the functioning of the secondary grouping value.
  */
-void NumberFormatTest::TestSecondaryGrouping(void) {
+void NumberFormatTest::TestSecondaryGrouping() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols ct");
@@ -1415,7 +1415,7 @@ void NumberFormatTest::TestSecondaryGrouping(void) {
     }
 }
 
-void NumberFormatTest::TestWhiteSpaceParsing(void) {
+void NumberFormatTest::TestWhiteSpaceParsing() {
     UErrorCode ec = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), ec);
     DecimalFormat fmt("a  b#0c  ", US, ec);
@@ -1467,7 +1467,7 @@ NumberFormatTest::roundingTest(NumberFormat& nf, double x, int32_t maxFractionDi
 /**
  * Upgrade to alphaWorks
  */
-void NumberFormatTest::TestExponent(void) {
+void NumberFormatTest::TestExponent() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols constructor");
@@ -1484,7 +1484,7 @@ void NumberFormatTest::TestExponent(void) {
 /**
  * Upgrade to alphaWorks
  */
-void NumberFormatTest::TestScientific(void) {
+void NumberFormatTest::TestScientific() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols constructor");
@@ -1664,7 +1664,7 @@ void NumberFormatTest::TestScientific(void) {
 /**
  * Upgrade to alphaWorks
  */
-void NumberFormatTest::TestPad(void) {
+void NumberFormatTest::TestPad() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols constructor");
@@ -1780,7 +1780,7 @@ void NumberFormatTest::TestPad(void) {
 /**
  * Upgrade to alphaWorks
  */
-void NumberFormatTest::TestPatterns2(void) {
+void NumberFormatTest::TestPatterns2() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols US(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols constructor");
@@ -1841,7 +1841,7 @@ void NumberFormatTest::TestPatterns2(void) {
     expectPat(fmt, "AA*^#####,##0.00ZZ");
 }
 
-void NumberFormatTest::TestSurrogateSupport(void) {
+void NumberFormatTest::TestSurrogateSupport() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols custom(Locale::getUS(), status);
     CHECK(status, "DecimalFormatSymbols constructor");
@@ -1910,7 +1910,7 @@ void NumberFormatTest::TestSurrogateSupport(void) {
            int32_t(-20), expStr, status);
 }
 
-void NumberFormatTest::TestCurrencyPatterns(void) {
+void NumberFormatTest::TestCurrencyPatterns() {
     int32_t i, locCount;
     const Locale* locs = NumberFormat::getAvailableLocales(locCount);
     for (i=0; i<locCount; ++i) {
@@ -1952,7 +1952,7 @@ void NumberFormatTest::TestCurrencyPatterns(void) {
     }
 }
 
-void NumberFormatTest::TestRegCurrency(void) {
+void NumberFormatTest::TestRegCurrency() {
 #if !UCONFIG_NO_SERVICE
     UErrorCode status = U_ZERO_ERROR;
     char16_t USD[4];
@@ -1997,7 +1997,7 @@ void NumberFormatTest::TestRegCurrency(void) {
 #endif
 }
 
-void NumberFormatTest::TestCurrencyNames(void) {
+void NumberFormatTest::TestCurrencyNames() {
     // Do a basic check of getName()
     // USD { "US$", "US Dollar"            } // 04/04/1792-
     UErrorCode ec = U_ZERO_ERROR;
@@ -2188,7 +2188,7 @@ void NumberFormatTest::TestCurrencyVariants(){
     }
 }
 
-void NumberFormatTest::TestCurrencyUnit(void){
+void NumberFormatTest::TestCurrencyUnit(){
     UErrorCode ec = U_ZERO_ERROR;
     static const char16_t USD[]  = u"USD";
     static const char USD8[]  =  "USD";
@@ -2348,7 +2348,7 @@ void NumberFormatTest::TestCurrencyUnit(void){
     free(EUR8);
 }
 
-void NumberFormatTest::TestCurrencyAmount(void){
+void NumberFormatTest::TestCurrencyAmount(){
     UErrorCode ec = U_ZERO_ERROR;
     static const char16_t USD[] = {85, 83, 68, 0}; /*USD*/
     CurrencyAmount ca(9, USD, ec);
@@ -2371,7 +2371,7 @@ void NumberFormatTest::TestCurrencyAmount(void){
     delete ca3;
 }
 
-void NumberFormatTest::TestSymbolsWithBadLocale(void) {
+void NumberFormatTest::TestSymbolsWithBadLocale() {
     Locale locDefault;
     static const char *badLocales[] = {
         // length < ULOC_FULLNAME_CAPACITY
@@ -2424,7 +2424,7 @@ void NumberFormatTest::TestSymbolsWithBadLocale(void) {
  * behave the same, except for memory ownership semantics. (No
  * version of this test on Java, since Java has only one method.)
  */
-void NumberFormatTest::TestAdoptDecimalFormatSymbols(void) {
+void NumberFormatTest::TestAdoptDecimalFormatSymbols() {
     UErrorCode ec = U_ZERO_ERROR;
     DecimalFormatSymbols *sym = new DecimalFormatSymbols(Locale::getUS(), ec);
     if (U_FAILURE(ec)) {
@@ -7129,7 +7129,7 @@ void NumberFormatTest::TestAvailableNumberingSystems() {
 }
 
 void
-NumberFormatTest::Test9087(void)
+NumberFormatTest::Test9087()
 {
     U_STRING_DECL(pattern,"#",1);
     U_STRING_INIT(pattern,"#",1);
@@ -7284,7 +7284,7 @@ void NumberFormatTest::TestFormatFastpaths() {
 }
 
 
-void NumberFormatTest::TestFormattableSize(void) {
+void NumberFormatTest::TestFormattableSize() {
   if(sizeof(Formattable) > 112) {
     errln("Error: sizeof(Formattable)=%d, 112=%d\n",
           sizeof(Formattable), 112);
@@ -7451,7 +7451,7 @@ UBool NumberFormatTest::testFormattableAsUFormattable(const char *file, int line
   return exactMatch || !triedExact;
 }
 
-void NumberFormatTest::TestUFormattable(void) {
+void NumberFormatTest::TestUFormattable() {
   {
     // test that a default formattable is equal to Formattable()
     UErrorCode status = U_ZERO_ERROR;
@@ -7521,7 +7521,7 @@ void NumberFormatTest::TestUFormattable(void) {
   }
 }
 
-void NumberFormatTest::TestSignificantDigits(void) {
+void NumberFormatTest::TestSignificantDigits() {
   double input[] = {
         0, 0,
         0.1, -0.1,
diff --git a/icu4c/source/test/intltest/numfmtst.h b/icu4c/source/test/intltest/numfmtst.h
index 4b897ab40fe..4cb0f01e6a0 100644
--- a/icu4c/source/test/intltest/numfmtst.h
+++ b/icu4c/source/test/intltest/numfmtst.h
@@ -72,117 +72,117 @@ class NumberFormatTest: public CalendarTimeZoneTest {
     /**
      * Test APIs (to increase code coverage)
      */
-    void TestAPI(void);
+    void TestAPI();
 
-    void TestCoverage(void);
+    void TestCoverage();
     void TestLocalizedPatternSymbolCoverage();
 
     /**
      * Test the handling of quotes
      **/
-    void TestQuotes(void);
+    void TestQuotes();
     /**
      * Test patterns with exponential representation
      **/
-    void TestExponential(void);
+    void TestExponential();
     /**
      * Test handling of patterns with currency symbols
      **/
-    void TestCurrencySign(void);
+    void TestCurrencySign();
     /**
      * Test different format patterns
      **/
-    void TestPatterns(void);
+    void TestPatterns();
     /**
      * API coverage for DigitList
      **/
-    //void TestDigitList(void);
+    //void TestDigitList();
 
-    void Test20186_SpacesAroundSemicolon(void);
+    void Test20186_SpacesAroundSemicolon();
 
     /**
      * Test localized currency patterns.
      */
-    void TestCurrency(void);
+    void TestCurrency();
 
     /**
      * Test the Currency object handling, new as of ICU 2.2.
      */
-    void TestCurrencyObject(void);
+    void TestCurrencyObject();
 
-    void TestCurrencyPatterns(void);
+    void TestCurrencyPatterns();
 
     /**
      * Do rudimentary testing of parsing.
      */
-    void TestParse(void);
+    void TestParse();
     /**
      * Test proper rounding by the format method.
      */
-    void TestRounding487(void);
+    void TestRounding487();
 
     // New tests for alphaWorks upgrade
-    void TestExponent(void);
+    void TestExponent();
 
-    void TestScientific(void);
+    void TestScientific();
 
-    void TestScientific2(void);
+    void TestScientific2();
 
-    void TestScientificGrouping(void);
+    void TestScientificGrouping();
 
-    void TestInt64(void);
+    void TestInt64();
 
-    void TestSurrogateSupport(void);
+    void TestSurrogateSupport();
 
     /**
      * Test the functioning of the secondary grouping value.
      */
-    void TestSecondaryGrouping(void);
+    void TestSecondaryGrouping();
 
-    void TestWhiteSpaceParsing(void);
+    void TestWhiteSpaceParsing();
 
-    void TestComplexCurrency(void);
+    void TestComplexCurrency();
 
-    void TestPad(void);
-    void TestPatterns2(void);
+    void TestPad();
+    void TestPatterns2();
 
     /**
      * Test currency registration.
      */
-    void TestRegCurrency(void);
+    void TestRegCurrency();
 
-    void TestCurrencyNames(void);
+    void TestCurrencyNames();
 
-    void TestCurrencyVariants(void);
+    void TestCurrencyVariants();
 
-    void TestCurrencyAmount(void);
+    void TestCurrencyAmount();
 
-    void TestCurrencyUnit(void);
+    void TestCurrencyUnit();
 
-    void TestSymbolsWithBadLocale(void);
+    void TestSymbolsWithBadLocale();
 
-    void TestAdoptDecimalFormatSymbols(void);
+    void TestAdoptDecimalFormatSymbols();
 
-    void TestPerMill(void);
+    void TestPerMill();
 
-    void TestIllegalPatterns(void);
+    void TestIllegalPatterns();
 
-    void TestCases(void);
+    void TestCases();
 
-    void TestJB3832(void);
+    void TestJB3832();
 
-    void TestHost(void);
+    void TestHost();
 
-    void TestHostClone(void);
+    void TestHostClone();
 
-    void TestCurrencyFormat(void);
+    void TestCurrencyFormat();
 
     /* Port of ICU4J rounding test. */
-    void TestRounding(void);
+    void TestRounding();
 
-    void TestRoundingPattern(void);
+    void TestRoundingPattern();
 
-    void TestNonpositiveMultiplier(void);
+    void TestNonpositiveMultiplier();
 
     void TestNumberingSystems();
 
diff --git a/icu4c/source/test/intltest/numrgts.cpp b/icu4c/source/test/intltest/numrgts.cpp
index 62570fe41d8..6dfdf07694c 100644
--- a/icu4c/source/test/intltest/numrgts.cpp
+++ b/icu4c/source/test/intltest/numrgts.cpp
@@ -31,7 +31,7 @@ class MyNumberFormatTest : public NumberFormat
 {
 public:
 
-    virtual UClassID getDynamicClassID(void) const override;
+    virtual UClassID getDynamicClassID() const override;
   
     virtual UnicodeString& format(    double            number, 
                     UnicodeString&        toAppendTo, 
@@ -247,7 +247,7 @@ inline UnicodeString str(const char *input)
  * NumberFormat.equals comparing with null should always return false.
  */
 // {sfb} kind of silly in C++, just checking for new success
-void NumberFormatRegressionTest::Test4075713(void)
+void NumberFormatRegressionTest::Test4075713()
 {
     //try {
         MyNumberFormatTest *tmp = new MyNumberFormatTest();
@@ -264,7 +264,7 @@ void NumberFormatRegressionTest::Test4075713(void)
  * NumberFormat.equals comparing two obj equal even the setGroupingUsed
  * flag is different.
  */
-void NumberFormatRegressionTest::Test4074620(void) 
+void NumberFormatRegressionTest::Test4074620() 
 {
 
     MyNumberFormatTest *nf1 = new MyNumberFormatTest();
@@ -287,7 +287,7 @@ void NumberFormatRegressionTest::Test4074620(void)
  * DecimalFormat.format() incorrectly uses maxFractionDigits setting.
  */
 
-void NumberFormatRegressionTest::Test4088161 (void)
+void NumberFormatRegressionTest::Test4088161()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -317,7 +317,7 @@ void NumberFormatRegressionTest::Test4088161 (void)
  * DecimalFormatSymbols should be cloned in the ctor DecimalFormat.
  * DecimalFormat(String, DecimalFormatSymbols).
  */
-void NumberFormatRegressionTest::Test4087245 (void)
+void NumberFormatRegressionTest::Test4087245()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols *symbols = new DecimalFormatSymbols(status);
@@ -347,7 +347,7 @@ void NumberFormatRegressionTest::Test4087245 (void)
 /* @bug 4087535
  * DecimalFormat.format() incorrectly formats 0.0
  */
-void NumberFormatRegressionTest::Test4087535 (void)
+void NumberFormatRegressionTest::Test4087535()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -375,7 +375,7 @@ void NumberFormatRegressionTest::Test4087535 (void)
  * DecimalFormat.format fails when groupingSize is set to 0.
  */
 // {sfb} how do I tell if this worked? --> FieldPosition doesn't change ??
-void NumberFormatRegressionTest::Test4088503 (void)
+void NumberFormatRegressionTest::Test4088503()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -399,7 +399,7 @@ void NumberFormatRegressionTest::Test4088503 (void)
 /* @bug 4066646
  * NumberFormat.getCurrencyInstance is wrong.
  */
-void NumberFormatRegressionTest::Test4066646 (void) 
+void NumberFormatRegressionTest::Test4066646() 
 {
     assignFloatValue(2.04f);
     assignFloatValue(2.03f);
@@ -439,7 +439,7 @@ NumberFormatRegressionTest::assignFloatValue(float returnfloat)
 /* @bug 4059870
  * DecimalFormat throws exception when parsing "0"
  */
-void NumberFormatRegressionTest::Test4059870(void) 
+void NumberFormatRegressionTest::Test4059870() 
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *format = new DecimalFormat("00", status);
@@ -462,7 +462,7 @@ void NumberFormatRegressionTest::Test4059870(void)
  * comparing with null.
  */
 // {sfb} this is silly in C++
-void NumberFormatRegressionTest::Test4083018 (void)
+void NumberFormatRegressionTest::Test4083018()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols *dfs = new DecimalFormatSymbols(status);
@@ -482,7 +482,7 @@ void NumberFormatRegressionTest::Test4083018 (void)
 /* @bug 4071492
  * DecimalFormat does not round up correctly.
  */
-void NumberFormatRegressionTest::Test4071492 (void)
+void NumberFormatRegressionTest::Test4071492()
 {
     double x = 0.00159999;
     UErrorCode status = U_ZERO_ERROR;
@@ -507,7 +507,7 @@ void NumberFormatRegressionTest::Test4071492 (void)
  * A space as a group separator for localized pattern causes
  * wrong format.  WorkAround : use non-breaking space.
  */
-void NumberFormatRegressionTest::Test4086575(void) 
+void NumberFormatRegressionTest::Test4086575() 
 {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf1 = NumberFormat::createInstance(Locale::getFrance(), status);
@@ -587,7 +587,7 @@ void NumberFormatRegressionTest::Test4086575(void)
  */
 // {sfb} slightly converted into a round-trip test, since in C++
 // there is no Double.toString()
-void NumberFormatRegressionTest::Test4068693(void)
+void NumberFormatRegressionTest::Test4068693()
 {
     logln("----- Test Application -----");
     ParsePosition pos(0);
@@ -620,7 +620,7 @@ void NumberFormatRegressionTest::Test4068693(void)
  * object.
  */
 // {sfb} doesn't apply in C++
-void NumberFormatRegressionTest::Test4069754(void)
+void NumberFormatRegressionTest::Test4069754()
 {
 /*    try {
         myformat it = new myformat();
@@ -645,7 +645,7 @@ void NumberFormatRegressionTest::Test4069754(void)
 /* @bug 4087251
  * DecimalFormat.applyPattern(String) allows illegal patterns
  */
-void NumberFormatRegressionTest::Test4087251 (void)
+void NumberFormatRegressionTest::Test4087251()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -682,7 +682,7 @@ void NumberFormatRegressionTest::Test4087251 (void)
 /* @bug 4090489
  * DecimalFormat.format() loses precision
  */
-void NumberFormatRegressionTest::Test4090489 (void)
+void NumberFormatRegressionTest::Test4090489()
 {
 // {sfb} snprintf doesn't correctly handle the double, so there is nothing
 // that NumberFormat can do.  For some reason, it does not format the last 1.
@@ -709,7 +709,7 @@ void NumberFormatRegressionTest::Test4090489 (void)
 /* @bug 4090504
  * DecimalFormat.format() loses precision
  */
-void NumberFormatRegressionTest::Test4090504 (void)
+void NumberFormatRegressionTest::Test4090504()
 {
     double d = 1;
     logln(UnicodeString("d = ") + d);
@@ -740,7 +740,7 @@ void NumberFormatRegressionTest::Test4090504 (void)
 /* @bug 4095713
  * DecimalFormat.parse(String str, ParsePosition pp) loses precision
  */
-void NumberFormatRegressionTest::Test4095713 (void)
+void NumberFormatRegressionTest::Test4095713()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -767,7 +767,7 @@ void NumberFormatRegressionTest::Test4095713 (void)
  * DecimalFormat.parse() fails when multiplier is not set to 1
  */
 // {sfb} not sure what to do with this one
-void NumberFormatRegressionTest::Test4092561 (void)
+void NumberFormatRegressionTest::Test4092561()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -793,7 +793,7 @@ void NumberFormatRegressionTest::Test4092561 (void)
 /* @bug 4092480
  * DecimalFormat: Negative format ignored.
  */
-void NumberFormatRegressionTest::Test4092480 (void)
+void NumberFormatRegressionTest::Test4092480()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *dfFoo = new DecimalFormat(UnicodeString("000"), status);
@@ -847,7 +847,7 @@ void NumberFormatRegressionTest::Test4092480 (void)
  * never contain the monetary separator!  Decimal separator in pattern is
  * interpreted as monetary separator if currency symbol is seen!
  */
-void NumberFormatRegressionTest::Test4087244 (void) {
+void NumberFormatRegressionTest::Test4087244() {
     UErrorCode status = U_ZERO_ERROR;
     char loc[256] = {0};
 
@@ -891,7 +891,7 @@ void NumberFormatRegressionTest::Test4087244 (void) {
 /* @bug 4070798
  * Number format data rounding errors for locale FR
  */
-void NumberFormatRegressionTest::Test4070798 (void) 
+void NumberFormatRegressionTest::Test4070798() 
 {
     NumberFormat *formatter;
     UnicodeString tempString;
@@ -969,7 +969,7 @@ void NumberFormatRegressionTest::Test4070798 (void)
 /* @bug 4071005
  * Data rounding errors for French (Canada) locale
  */
-void NumberFormatRegressionTest::Test4071005 (void) 
+void NumberFormatRegressionTest::Test4071005() 
 {
     NumberFormat *formatter;
     UnicodeString tempString;
@@ -1041,7 +1041,7 @@ void NumberFormatRegressionTest::Test4071005 (void)
 /* @bug 4071014
  * Data rounding errors for German (Germany) locale
  */
-void NumberFormatRegressionTest::Test4071014 (void) 
+void NumberFormatRegressionTest::Test4071014() 
 {
     NumberFormat *formatter;
     UnicodeString tempString;
@@ -1109,7 +1109,7 @@ void NumberFormatRegressionTest::Test4071014 (void)
 /* @bug 4071859
  * Data rounding errors for Italian locale number formats
  */
-void NumberFormatRegressionTest::Test4071859 (void) 
+void NumberFormatRegressionTest::Test4071859() 
 {
     NumberFormat *formatter;
     UnicodeString tempString;
@@ -1174,7 +1174,7 @@ void NumberFormatRegressionTest::Test4071859 (void)
 /* @bug 4071859
  * Test rounding for nearest even.
  */
-void NumberFormatRegressionTest::Test4093610(void)
+void NumberFormatRegressionTest::Test4093610()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat df("#0.#", status);
@@ -1214,7 +1214,7 @@ void NumberFormatRegressionTest::roundingTest(DecimalFormat *df, double x, Unico
 /* @bug 4098741
  * Tests the setMaximumFractionDigits limit.
  */
-void NumberFormatRegressionTest::Test4098741(void)
+void NumberFormatRegressionTest::Test4098741()
 {
     //try {
     UErrorCode status = U_ZERO_ERROR;
@@ -1238,7 +1238,7 @@ void NumberFormatRegressionTest::Test4098741(void)
  * Fix comment : HShih A31 Part1 will not be fixed and javadoc needs to be updated.
  * Part2 has been fixed.
  */
-void NumberFormatRegressionTest::Test4074454(void)
+void NumberFormatRegressionTest::Test4074454()
 {
     //try {
     UErrorCode status = U_ZERO_ERROR;  
@@ -1283,7 +1283,7 @@ void NumberFormatRegressionTest::Test4074454(void)
  * Otherwise, an IllegalArgumentException will be thrown when formatting
  * "January 35".  See GregorianCalendar class javadoc for more details.
  */
-void NumberFormatRegressionTest::Test4099404(void)
+void NumberFormatRegressionTest::Test4099404()
 {
     //try {
         UErrorCode status = U_ZERO_ERROR;
@@ -1308,7 +1308,7 @@ void NumberFormatRegressionTest::Test4099404(void)
 /* @bug 4101481
  * DecimalFormat.applyPattern doesn't set minimum integer digits
  */
-void NumberFormatRegressionTest::Test4101481(void)
+void NumberFormatRegressionTest::Test4101481()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *sdf = new DecimalFormat(UnicodeString("#,##0"), status);
@@ -1325,7 +1325,7 @@ void NumberFormatRegressionTest::Test4101481(void)
 /* @bug 4052223 (API addition request A27)
  * Tests ParsePosition.setErrorPosition() and ParsePosition.getErrorPosition().
  */
-void NumberFormatRegressionTest::Test4052223(void)
+void NumberFormatRegressionTest::Test4052223()
 {
     //try {
     UErrorCode status = U_ZERO_ERROR;
@@ -1348,7 +1348,7 @@ void NumberFormatRegressionTest::Test4052223(void)
 /* @bug 4061302
  * API tests for API addition request A9.
  */
-void NumberFormatRegressionTest::Test4061302(void)
+void NumberFormatRegressionTest::Test4061302()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols *fmt = new DecimalFormatSymbols(status);
@@ -1389,7 +1389,7 @@ void NumberFormatRegressionTest::Test4061302(void)
  * API tests for API addition request A23. FieldPosition.getBeginIndex and
  * FieldPosition.getEndIndex.
  */
-void NumberFormatRegressionTest::Test4062486(void)
+void NumberFormatRegressionTest::Test4062486()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *fmt = new DecimalFormat(UnicodeString("#,##0.00"), status);
@@ -1414,7 +1414,7 @@ void NumberFormatRegressionTest::Test4062486(void)
 /* @bug 4108738
  * DecimalFormat.parse incorrectly works with a group separator.
  */
-void NumberFormatRegressionTest::Test4108738(void)
+void NumberFormatRegressionTest::Test4108738()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols *syms = new DecimalFormatSymbols(Locale::getUS(), status);
@@ -1455,7 +1455,7 @@ void NumberFormatRegressionTest::Test4108738(void)
 /* @bug 4106658
  * DecimalFormat.format() incorrectly formats negative doubles.
  */
-void NumberFormatRegressionTest::Test4106658(void)
+void NumberFormatRegressionTest::Test4106658()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status); // Corrected; see 4147706
@@ -1491,7 +1491,7 @@ void NumberFormatRegressionTest::Test4106658(void)
 /* @bug 4106662
  * DecimalFormat.parse returns 0 if string parameter is incorrect.
  */
-void NumberFormatRegressionTest::Test4106662(void)
+void NumberFormatRegressionTest::Test4106662()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -1525,7 +1525,7 @@ void NumberFormatRegressionTest::Test4106662(void)
 /* @bug 4114639 (duplicate of 4106662)
  * NumberFormat.parse doesn't return null
  */
-void NumberFormatRegressionTest::Test4114639(void)
+void NumberFormatRegressionTest::Test4114639()
 {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *format = NumberFormat::createInstance(status);
@@ -1550,7 +1550,7 @@ void NumberFormatRegressionTest::Test4114639(void)
  * a double only MAY only have 52 bits of precision.
  * DecimalFormat.format(long n) fails if n * multiplier > MAX_LONG.
  */
-void NumberFormatRegressionTest::Test4106664(void)
+void NumberFormatRegressionTest::Test4106664()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -1584,7 +1584,7 @@ void NumberFormatRegressionTest::Test4106664(void)
 /* @bug 4106667 (duplicate of 4106658)
  * DecimalFormat.format incorrectly formats -0.0.
  */
-void NumberFormatRegressionTest::Test4106667(void)
+void NumberFormatRegressionTest::Test4106667()
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat(status);
@@ -1624,7 +1624,7 @@ void NumberFormatRegressionTest::Test4106667(void)
 #   define MAX_INT_DIGITS 128
 #endif
 
-void NumberFormatRegressionTest::Test4110936(void)
+void NumberFormatRegressionTest::Test4110936()
 {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf = NumberFormat::createInstance(status);
@@ -1650,7 +1650,7 @@ void NumberFormatRegressionTest::Test4110936(void)
  * 2) Make sure we get the same results using the generic symbol or a
  *    hard-coded one.
  */
-void NumberFormatRegressionTest::Test4122840(void)
+void NumberFormatRegressionTest::Test4122840()
 {
     int32_t count = 0;
     const Locale *locales = Locale::getAvailableLocales(count);
@@ -1770,7 +1770,7 @@ void NumberFormatRegressionTest::Test4122840(void)
 /* @bug 4125885
  * DecimalFormat.format() delivers wrong string.
  */
-void NumberFormatRegressionTest::Test4125885(void)
+void NumberFormatRegressionTest::Test4125885()
 {
     UErrorCode status = U_ZERO_ERROR;
     double rate = 12.34;
@@ -1805,7 +1805,7 @@ void NumberFormatRegressionTest::Test4125885(void)
  * @bug 4134034
  * DecimalFormat produces extra zeros when formatting numbers.
  */
-void NumberFormatRegressionTest::Test4134034(void) 
+void NumberFormatRegressionTest::Test4134034() 
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *nf = new DecimalFormat("##,###,###.00", status);
@@ -1854,7 +1854,7 @@ void NumberFormatRegressionTest::Test4134034(void)
  * Value 1.2 Format #0.0# Result '1.2'
  * Value 1.2 Format #0.00 Result '1.20'
  */
-void NumberFormatRegressionTest::Test4134300(void) {
+void NumberFormatRegressionTest::Test4134300() {
     UnicodeString DATA [] = {
      // Pattern      Expected string
         UnicodeString("#.00"),      UnicodeString("1.20"),
@@ -1888,7 +1888,7 @@ void NumberFormatRegressionTest::Test4134300(void) {
  * @bug 4140009
  * Empty pattern produces double negative prefix.
  */
-void NumberFormatRegressionTest::Test4140009(void) 
+void NumberFormatRegressionTest::Test4140009() 
 {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<DecimalFormatSymbols> syms(new DecimalFormatSymbols(Locale::getEnglish(), status), status);
@@ -1915,7 +1915,7 @@ void NumberFormatRegressionTest::Test4140009(void)
  * BigDecimal numbers get their fractions truncated by NumberFormat.
  */
 // {sfb} not pertinent in C++ ??
-void NumberFormatRegressionTest::Test4141750(void) {
+void NumberFormatRegressionTest::Test4141750() {
     /*try {
         UnicodeString str("12345.67");
         BigDecimal bd = new BigDecimal(str);
@@ -2013,7 +2013,7 @@ void NumberFormatRegressionTest::Test4145457() {
  *
  * ICU 62: minInt is always at least one, and the getter should reflect that!
  */
-void NumberFormatRegressionTest::Test4147295(void) 
+void NumberFormatRegressionTest::Test4147295() 
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *sdf = new DecimalFormat(status);
@@ -2040,7 +2040,7 @@ void NumberFormatRegressionTest::Test4147295(void)
  * DecimalFormat formats -0.0 as +0.0
  * See also older related bug 4106658, 4106667
  */
-void NumberFormatRegressionTest::Test4147706(void) 
+void NumberFormatRegressionTest::Test4147706() 
 {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *df = new DecimalFormat("#,##0.0##", status);
@@ -2093,7 +2093,7 @@ public String Now()
  */
 // TODO: make this test actually test something
 void 
-NumberFormatRegressionTest::Test4162198(void) 
+NumberFormatRegressionTest::Test4162198() 
 {
     // for some reason, DBL_MAX will not round trip. (bug in snprintf/atof)
     double dbl = INT32_MAX * 1000.0;
@@ -2137,7 +2137,7 @@ NumberFormatRegressionTest::Test4162198(void)
  * NumberFormat does not parse negative zero.
  */
 void 
-NumberFormatRegressionTest::Test4162852(void) 
+NumberFormatRegressionTest::Test4162852() 
 {
     UErrorCode status = U_ZERO_ERROR;
     for(int32_t i=0; i < 2; ++i) {
@@ -2177,7 +2177,7 @@ static double _u_abs(double a) { return a<0?-a:a; }
  * @bug 4167494
  * NumberFormat truncates data
  */
-void NumberFormatRegressionTest::Test4167494(void) {
+void NumberFormatRegressionTest::Test4167494() {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *fmt = NumberFormat::createInstance(Locale::getUS(), status);
     if (failure(status, "NumberFormat::createInstance", true)){
@@ -2213,7 +2213,7 @@ void NumberFormatRegressionTest::Test4167494(void) {
  * @bug 4170798
  * DecimalFormat.parse() fails when ParseIntegerOnly set to true
  */
-void NumberFormatRegressionTest::Test4170798(void) {
+void NumberFormatRegressionTest::Test4170798() {
     IcuTestErrorCode status(*this, "Test4170798");
     LocalPointer<DecimalFormat> df(dynamic_cast<DecimalFormat*>(
             NumberFormat::createInstance(Locale::getUS(), status)), status);
@@ -2245,7 +2245,7 @@ void NumberFormatRegressionTest::Test4170798(void) {
  * May 17 1999 sync up - liu
  * toPattern only puts the first grouping separator in.
  */
-void NumberFormatRegressionTest::Test4176114(void) {
+void NumberFormatRegressionTest::Test4176114() {
     const char* DATA[] = {
         "00", "00",
         "000", "000", // No grouping
@@ -2278,7 +2278,7 @@ void NumberFormatRegressionTest::Test4176114(void) {
  * @bug 4179818
  * DecimalFormat is incorrectly rounding numbers like 1.2501 to 1.2
  */
-void NumberFormatRegressionTest::Test4179818(void) {
+void NumberFormatRegressionTest::Test4179818() {
     const char* DATA[] = {
         // Input  Pattern  Expected output
         "1.2511", "#.#",   "1.3",
@@ -2322,7 +2322,7 @@ void NumberFormatRegressionTest::Test4179818(void) {
  * symbol, percent, and permille.  This is filed as bugs 4212072 and
  * 4212073.
  */
-void NumberFormatRegressionTest::Test4212072(void) {
+void NumberFormatRegressionTest::Test4212072() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols sym(Locale::getUS(), status);
 
@@ -2507,7 +2507,7 @@ void NumberFormatRegressionTest::Test4212072(void) {
  * May 17 1999 sync up - liu
  * DecimalFormat.parse() fails for mulipliers 2^n.
  */
-void NumberFormatRegressionTest::Test4216742(void) {
+void NumberFormatRegressionTest::Test4216742() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormat *fmt = dynamic_cast<DecimalFormat*>(NumberFormat::createInstance(Locale::getUS(), status));
     if (failure(status, "createInstance", Locale::getUS(), true)){
@@ -2546,7 +2546,7 @@ void NumberFormatRegressionTest::Test4216742(void) {
  * DecimalFormat formats 1.001 to "1.00" instead of "1" with 2 fraction
  * digits.
  */
-void NumberFormatRegressionTest::Test4217661(void) {
+void NumberFormatRegressionTest::Test4217661() {
     const double D[] = {  0.001, 1.001, 0.006,  1.006 };
     const char*  S[] = { "0",   "1",   "0.01", "1.01" };
     int D_length = UPRV_LENGTHOF(D);
@@ -2570,7 +2570,7 @@ void NumberFormatRegressionTest::Test4217661(void) {
 /**
  * alphaWorks upgrade
  */
-void NumberFormatRegressionTest::Test4161100(void) {
+void NumberFormatRegressionTest::Test4161100() {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf = NumberFormat::createInstance(Locale::getUS(), status);
     if (failure(status, "createInstance", Locale::getUS(), true)){
@@ -2595,7 +2595,7 @@ void NumberFormatRegressionTest::Test4161100(void) {
  * June 16 1999 sync up - liu
  * Formatting .5 rounds to "1" instead of "0". (Regression in 1.2.2 RC1)
  */
-void NumberFormatRegressionTest::Test4243011(void) {
+void NumberFormatRegressionTest::Test4243011() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols sym(Locale::getUS(), status);
     failure(status, "DecimalFormatSymbols ct", Locale::getUS());
@@ -2626,7 +2626,7 @@ void NumberFormatRegressionTest::Test4243011(void) {
  * format(0.0) gives "0.1" if preceded by parse("99.99").
  * (Regression in 1.2.2 RC1)
  */
-void NumberFormatRegressionTest::Test4243108(void) {
+void NumberFormatRegressionTest::Test4243108() {
     UErrorCode status = U_ZERO_ERROR;
     DecimalFormatSymbols sym(Locale::getUS(), status);
     failure(status, "DecimalFormatSymbols ct", Locale::getUS());
@@ -2674,7 +2674,7 @@ void NumberFormatRegressionTest::Test4243108(void) {
  * DateFormat should call setIntegerParseOnly(true) on adopted
  * NumberFormat objects.
  */
-void NumberFormatRegressionTest::TestJ691(void) {
+void NumberFormatRegressionTest::TestJ691() {
     UErrorCode status = U_ZERO_ERROR;
     Locale loc("fr", "CH");
 
@@ -2756,7 +2756,7 @@ void NumberFormatRegressionTest::TestJ691(void) {
 
 // Ticket 8199:  Parse failure for numbers in the range of 1E10 - 1E18
 
-void NumberFormatRegressionTest::Test8199(void) {
+void NumberFormatRegressionTest::Test8199() {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf = NumberFormat::createInstance(Locale::getEnglish(), status);
     if (nf == nullptr) {
@@ -2876,7 +2876,7 @@ void NumberFormatRegressionTest::Test8199(void) {
     delete nf;
 }
 
-void NumberFormatRegressionTest::Test9109(void) {
+void NumberFormatRegressionTest::Test9109() {
     UErrorCode status = U_ZERO_ERROR;
     Formattable val;
     ParsePosition pos;
@@ -2902,7 +2902,7 @@ void NumberFormatRegressionTest::Test9109(void) {
 }
 
 
-void NumberFormatRegressionTest::Test9780(void) {
+void NumberFormatRegressionTest::Test9780() {
     UErrorCode status = U_ZERO_ERROR;
     NumberFormat *nf = NumberFormat::createInstance(Locale::getUS(), status);
     if (failure(status, "NumberFormat::createInstance", true)){
@@ -2942,7 +2942,7 @@ void NumberFormatRegressionTest::Test9780(void) {
 }
 
 
-void NumberFormatRegressionTest::Test9677(void) {
+void NumberFormatRegressionTest::Test9677() {
   static const char16_t pattern[] = { 0x23,0x23,0x23,0x23,0x2E,0x23,0x23,0x23,0x23,0 }; // "####.####"
   static const char16_t positivePrefix[] = { 0x40,0 }; // "@"
   static const char16_t negativePrefix[] = { 0x6E,0 }; // "n"
@@ -3031,7 +3031,7 @@ void NumberFormatRegressionTest::Test9677(void) {
   }
 }
 
-void NumberFormatRegressionTest::Test10361(void) {
+void NumberFormatRegressionTest::Test10361() {
     // DecimalFormat/NumberFormat were artificially limiting the number of digits,
     //    preventing formatting of big decimals.
     UErrorCode status = U_ZERO_ERROR;
diff --git a/icu4c/source/test/intltest/numrgts.h b/icu4c/source/test/intltest/numrgts.h
index 0c5b574d052..aee9543dca1 100644
--- a/icu4c/source/test/intltest/numrgts.h
+++ b/icu4c/source/test/intltest/numrgts.h
@@ -27,76 +27,76 @@ class NumberFormatRegressionTest: public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-    void Test4075713(void);
-    void Test4074620(void) ;
-    void Test4088161 (void);
-    void Test4087245 (void);
-    void Test4087535 (void);
-    void Test4088503 (void);
-    void Test4066646 (void);
+    void Test4075713();
+    void Test4074620() ;
+    void Test4088161();
+    void Test4087245();
+    void Test4087535();
+    void Test4088503();
+    void Test4066646();
     float assignFloatValue(float returnfloat);
-    void Test4059870(void);
-    void Test4083018 (void);
-    void Test4071492 (void);
-    void Test4086575(void);
-    void Test4068693(void);
-    void Test4069754(void);
-    void Test4087251 (void);
-    void Test4090489 (void);
-    void Test4090504 (void);
-    void Test4095713 (void);
-    void Test4092561 (void);
-    void Test4092480 (void);
-    void Test4087244 (void);
-    void Test4070798 (void);
-    void Test4071005 (void);
-    void Test4071014 (void);
-    void Test4071859 (void);
-    void Test4093610(void);
+    void Test4059870();
+    void Test4083018();
+    void Test4071492();
+    void Test4086575();
+    void Test4068693();
+    void Test4069754();
+    void Test4087251();
+    void Test4090489();
+    void Test4090504();
+    void Test4095713();
+    void Test4092561();
+    void Test4092480();
+    void Test4087244();
+    void Test4070798();
+    void Test4071005();
+    void Test4071014();
+    void Test4071859();
+    void Test4093610();
     void roundingTest(DecimalFormat *df, double x, UnicodeString& expected);
-    void Test4098741(void);
-    void Test4074454(void);
-    void Test4099404(void);
-    void Test4101481(void);
-    void Test4052223(void);
-    void Test4061302(void);
-    void Test4062486(void);
-    void Test4108738(void);
-    void Test4106658(void);
-    void Test4106662(void);
-    void Test4114639(void);
-    void Test4106664(void);
-    void Test4106667(void);
-    void Test4110936(void);
-    void Test4122840(void);
-    void Test4125885(void);
-    void Test4134034(void);
-    void Test4134300(void);
-    void Test4140009(void);
-    void Test4141750(void);
-    void Test4145457(void);
-    void Test4147295(void);
-    void Test4147706(void);
+    void Test4098741();
+    void Test4074454();
+    void Test4099404();
+    void Test4101481();
+    void Test4052223();
+    void Test4061302();
+    void Test4062486();
+    void Test4108738();
+    void Test4106658();
+    void Test4106662();
+    void Test4114639();
+    void Test4106664();
+    void Test4106667();
+    void Test4110936();
+    void Test4122840();
+    void Test4125885();
+    void Test4134034();
+    void Test4134300();
+    void Test4140009();
+    void Test4141750();
+    void Test4145457();
+    void Test4147295();
+    void Test4147706();
 
-    void Test4162198(void);
-    void Test4162852(void);
+    void Test4162198();
+    void Test4162852();
 
-    void Test4167494(void);
-    void Test4170798(void);
-    void Test4176114(void);
-    void Test4179818(void);
-    void Test4212072(void);
-    void Test4216742(void);
-    void Test4217661(void);
-    void Test4161100(void);
-    void Test4243011(void);
-    void Test4243108(void);
-    void TestJ691(void);
-    void Test8199(void);
-    void Test9109(void);
-    void Test9780(void);
-    void Test9677(void);
-    void Test10361(void);
+    void Test4167494();
+    void Test4170798();
+    void Test4176114();
+    void Test4179818();
+    void Test4212072();
+    void Test4216742();
+    void Test4217661();
+    void Test4161100();
+    void Test4243011();
+    void Test4243108();
+    void TestJ691();
+    void Test8199();
+    void Test9109();
+    void Test9780();
+    void Test9677();
+    void Test10361();
 protected:
     UBool failure(UErrorCode status, const UnicodeString& msg, UBool possibleDataError=false);
     UBool failure(UErrorCode status, const UnicodeString& msg, const char *l, UBool possibleDataError=false);
diff --git a/icu4c/source/test/intltest/plurfmts.cpp b/icu4c/source/test/intltest/plurfmts.cpp
index 3020be93c82..0805c301237 100644
--- a/icu4c/source/test/intltest/plurfmts.cpp
+++ b/icu4c/source/test/intltest/plurfmts.cpp
@@ -535,7 +535,7 @@ PluralFormatTest::pluralFormatLocaleTest(/*char *par*/)
 }
 
 void
-PluralFormatTest::pluralFormatExtendedTest(void) {
+PluralFormatTest::pluralFormatExtendedTest() {
   const char *targets[] = {
     "There are no widgets.",
     "There is one widget.",
@@ -599,7 +599,7 @@ PluralFormatTest::pluralFormatExtendedTest(void) {
 }
 
 void
-PluralFormatTest::pluralFormatExtendedParseTest(void) {
+PluralFormatTest::pluralFormatExtendedParseTest() {
   const char *failures[] = {
     "offset:1..0 =0 {Foo}",
     "offset:1.0 {Foo}",
@@ -620,7 +620,7 @@ PluralFormatTest::pluralFormatExtendedParseTest(void) {
 }
 
 void
-PluralFormatTest::ordinalFormatTest(void) {
+PluralFormatTest::ordinalFormatTest() {
     IcuTestErrorCode errorCode(*this, "ordinalFormatTest");
     UnicodeString pattern("one{#st file}two{#nd file}few{#rd file}other{#th file}");
     PluralFormat pf(Locale::getEnglish(), UPLURAL_TYPE_ORDINAL, pattern, errorCode);
diff --git a/icu4c/source/test/intltest/pptest.h b/icu4c/source/test/intltest/pptest.h
index 6785c2d89ae..396009450fd 100644
--- a/icu4c/source/test/intltest/pptest.h
+++ b/icu4c/source/test/intltest/pptest.h
@@ -24,10 +24,10 @@ class ParsePositionTest: public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-    void TestParsePosition(void);
-    void TestFieldPosition(void);
-    void TestFieldPosition_example(void);
-    void Test4109023(void);
+    void TestParsePosition();
+    void TestFieldPosition();
+    void TestFieldPosition_example();
+    void Test4109023();
 
 protected:
     UBool failure(UErrorCode status, const char* msg, UBool possibleDataError=false);
diff --git a/icu4c/source/test/intltest/rbbiapts.h b/icu4c/source/test/intltest/rbbiapts.h
index d6f7dec65a8..d65a2bc5219 100644
--- a/icu4c/source/test/intltest/rbbiapts.h
+++ b/icu4c/source/test/intltest/rbbiapts.h
@@ -33,7 +33,7 @@ public:
     /**
      * Tests Constructor behaviour of RuleBasedBreakIterator
      **/
-   // void TestConstruction(void);   
+   // void TestConstruction();   
     /**
      * Tests clone() and equals() methods of RuleBasedBreakIterator         
      **/
@@ -53,23 +53,23 @@ public:
      /**
       * Testing the iteration methods of RuleBasedBreakIterator
       **/
-    void TestIteration(void);
+    void TestIteration();
 
-    void TestFilteredBreakIteratorBuilder(void);
+    void TestFilteredBreakIteratorBuilder();
 
     /**
      * Tests creating RuleBasedBreakIterator from rules strings.
      **/
-    void TestBuilder(void);
+    void TestBuilder();
 
-    void TestRoundtripRules(void);
+    void TestRoundtripRules();
 
     void RoundtripRule(const char *dataFile);
 
     /**
      * Test getting and using binary (compiled) rules.
      **/
-    void TestGetBinaryRules(void);
+    void TestGetBinaryRules();
 
     /**
      * Tests grouping effect of 'single quotes' in rules.
diff --git a/icu4c/source/test/intltest/rbbitst.cpp b/icu4c/source/test/intltest/rbbitst.cpp
index 136930f3f34..982bad77284 100644
--- a/icu4c/source/test/intltest/rbbitst.cpp
+++ b/icu4c/source/test/intltest/rbbitst.cpp
@@ -3517,7 +3517,7 @@ static void testBreakBoundPreceding(RBBITest *test, UnicodeString ustr,
 }
 #endif
 
-void RBBITest::TestWordBreaks(void)
+void RBBITest::TestWordBreaks()
 {
 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
 
@@ -3595,7 +3595,7 @@ void RBBITest::TestWordBreaks(void)
 #endif
 }
 
-void RBBITest::TestWordBoundary(void)
+void RBBITest::TestWordBoundary()
 {
     // <data><>\u1d4a\u206e<?>\u0603\U0001d7ff<>\u2019<></data>
     Locale        locale("en");
@@ -3681,7 +3681,7 @@ void RBBITest::TestWordBoundary(void)
     }
 }
 
-void RBBITest::TestLineBreaks(void)
+void RBBITest::TestLineBreaks()
 {
 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
     Locale        locale("en");
@@ -3773,7 +3773,7 @@ void RBBITest::TestLineBreaks(void)
 #endif
 }
 
-void RBBITest::TestSentBreaks(void)
+void RBBITest::TestSentBreaks()
 {
 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
     Locale        locale("en");
@@ -4266,7 +4266,7 @@ void RBBITest::RunMonkey(BreakIterator *bi, RBBIMonkeyKind &mk, const char *name
 //             which is to just keep it from crashing.  Correct word boundaries
 //             await a proper fix to the dictionary code.
 //
-void RBBITest::TestBug5532(void)  {
+void RBBITest::TestBug5532()  {
    // Text includes a mixture of Thai and Latin.
    const unsigned char utf8Data[] = {
            0xE0u, 0xB8u, 0x82u, 0xE0u, 0xB8u, 0xB2u, 0xE0u, 0xB8u, 0xA2u, 0xE0u,
@@ -4306,7 +4306,7 @@ void RBBITest::TestBug5532(void)  {
 }
 
 
-void RBBITest::TestBug9983(void)  {
+void RBBITest::TestBug9983()  {
     UnicodeString text = UnicodeString("\\u002A"  // * Other
                                        "\\uFF65"  //   Other
                                        "\\u309C"  //   Katakana
@@ -4776,7 +4776,7 @@ void RBBITest::TestProperties() {
 //                  For putting in fragments of other tests that can be invoked
 //                  for tracing  without a lot of unwanted extra stuff happening.
 //
-void RBBITest::TestDebug(void) {
+void RBBITest::TestDebug() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<RuleBasedBreakIterator> bi (dynamic_cast<RuleBasedBreakIterator*>(
             BreakIterator::createCharacterInstance(Locale::getEnglish(), status)), status);
@@ -5132,7 +5132,7 @@ void SetupTestTrace() {
     utrace_setLevel(UTRACE_INFO);
 }
 
-void RBBITest::TestTraceCreateCharacter(void) {
+void RBBITest::TestTraceCreateCharacter() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateCharacter");
     LocalPointer<BreakIterator> brkitr(
@@ -5141,7 +5141,7 @@ void RBBITest::TestTraceCreateCharacter(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_CHARACTER, nullptr);
 }
 
-void RBBITest::TestTraceCreateTitle(void) {
+void RBBITest::TestTraceCreateTitle() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateTitle");
     LocalPointer<BreakIterator> brkitr(
@@ -5150,7 +5150,7 @@ void RBBITest::TestTraceCreateTitle(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_TITLE, nullptr);
 }
 
-void RBBITest::TestTraceCreateSentence(void) {
+void RBBITest::TestTraceCreateSentence() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateSentence");
     LocalPointer<BreakIterator> brkitr(
@@ -5159,7 +5159,7 @@ void RBBITest::TestTraceCreateSentence(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_SENTENCE, nullptr);
 }
 
-void RBBITest::TestTraceCreateWord(void) {
+void RBBITest::TestTraceCreateWord() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateWord");
     LocalPointer<BreakIterator> brkitr(
@@ -5168,7 +5168,7 @@ void RBBITest::TestTraceCreateWord(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_WORD, nullptr);
 }
 
-void RBBITest::TestTraceCreateLine(void) {
+void RBBITest::TestTraceCreateLine() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLine");
     LocalPointer<BreakIterator> brkitr(
@@ -5177,7 +5177,7 @@ void RBBITest::TestTraceCreateLine(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line");
 }
 
-void RBBITest::TestTraceCreateLineStrict(void) {
+void RBBITest::TestTraceCreateLineStrict() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineStrict");
     LocalPointer<BreakIterator> brkitr(
@@ -5186,7 +5186,7 @@ void RBBITest::TestTraceCreateLineStrict(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_strict");
 }
 
-void RBBITest::TestTraceCreateLineNormal(void) {
+void RBBITest::TestTraceCreateLineNormal() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineNormal");
     LocalPointer<BreakIterator> brkitr(
@@ -5195,7 +5195,7 @@ void RBBITest::TestTraceCreateLineNormal(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_normal");
 }
 
-void RBBITest::TestTraceCreateLineLoose(void) {
+void RBBITest::TestTraceCreateLineLoose() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineLoose");
     LocalPointer<BreakIterator> brkitr(
@@ -5204,7 +5204,7 @@ void RBBITest::TestTraceCreateLineLoose(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_loose");
 }
 
-void RBBITest::TestTraceCreateLineLoosePhrase(void) {
+void RBBITest::TestTraceCreateLineLoosePhrase() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineLoosePhrase");
     LocalPointer<BreakIterator> brkitr(
@@ -5213,7 +5213,7 @@ void RBBITest::TestTraceCreateLineLoosePhrase(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_loose_phrase");
 }
 
-void RBBITest::TestTraceCreateLineNormalPhrase(void) {
+void RBBITest::TestTraceCreateLineNormalPhrase() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineNormalPhrase");
     LocalPointer<BreakIterator> brkitr(
@@ -5222,7 +5222,7 @@ void RBBITest::TestTraceCreateLineNormalPhrase(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_normal_phrase");
 }
 
-void RBBITest::TestTraceCreateLineStrictPhrase(void) {
+void RBBITest::TestTraceCreateLineStrictPhrase() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLineStrictPhrase");
     LocalPointer<BreakIterator> brkitr(
@@ -5231,7 +5231,7 @@ void RBBITest::TestTraceCreateLineStrictPhrase(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_strict_phrase");
 }
 
-void RBBITest::TestTraceCreateLinePhrase(void) {
+void RBBITest::TestTraceCreateLinePhrase() {
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateLinePhrase");
     LocalPointer<BreakIterator> brkitr(
@@ -5240,7 +5240,7 @@ void RBBITest::TestTraceCreateLinePhrase(void) {
     assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "line_phrase");
 }
 
-void RBBITest::TestTraceCreateBreakEngine(void) {
+void RBBITest::TestTraceCreateBreakEngine() {
     rbbi_cleanup();
     SetupTestTrace();
     IcuTestErrorCode status(*this, "TestTraceCreateBreakEngine");
diff --git a/icu4c/source/test/intltest/regiontst.cpp b/icu4c/source/test/intltest/regiontst.cpp
index ab257ad6aa4..685cc73cba3 100644
--- a/icu4c/source/test/intltest/regiontst.cpp
+++ b/icu4c/source/test/intltest/regiontst.cpp
@@ -713,7 +713,7 @@ void RegionTest::TestAvailableTerritories() {
     delete containedInWorld;
 }
 
-void RegionTest::TestNoContainedRegions(void) {
+void RegionTest::TestNoContainedRegions() {
   UErrorCode status = U_ZERO_ERROR;
   const Region *region = Region::getInstance("BM",status);
   if (U_FAILURE(status) || region == nullptr) {
@@ -734,7 +734,7 @@ void RegionTest::TestNoContainedRegions(void) {
   delete containedRegions;
 }
 
-void RegionTest::TestGroupingChildren(void) {
+void RegionTest::TestGroupingChildren() {
     const char* testGroupings[] = {
         "003", "021,013,029",
         "419", "013,029,005",
diff --git a/icu4c/source/test/intltest/regiontst.h b/icu4c/source/test/intltest/regiontst.h
index a517fc99726..f5bd5eed1c3 100644
--- a/icu4c/source/test/intltest/regiontst.h
+++ b/icu4c/source/test/intltest/regiontst.h
@@ -27,18 +27,18 @@ public:
     RegionTest();
     virtual ~RegionTest();
     
-    void TestKnownRegions(void);
-    void TestGetInstanceString(void);
-    void TestGetInstanceInt(void);
-    void TestGetContainedRegions(void);
-    void TestGetContainedRegionsWithType(void);
-    void TestGetContainingRegion(void);
-    void TestGetContainingRegionWithType(void);
-    void TestGetPreferredValues(void);
-    void TestContains(void);
-    void TestAvailableTerritories(void);
-    void TestNoContainedRegions(void);
-    void TestGroupingChildren(void);
+    void TestKnownRegions();
+    void TestGetInstanceString();
+    void TestGetInstanceInt();
+    void TestGetContainedRegions();
+    void TestGetContainedRegionsWithType();
+    void TestGetContainingRegion();
+    void TestGetContainingRegionWithType();
+    void TestGetPreferredValues();
+    void TestContains();
+    void TestAvailableTerritories();
+    void TestNoContainedRegions();
+    void TestGroupingChildren();
 
 private:
 
diff --git a/icu4c/source/test/intltest/reldatefmttest.cpp b/icu4c/source/test/intltest/reldatefmttest.cpp
index a255785a562..43d084fe29c 100644
--- a/icu4c/source/test/intltest/reldatefmttest.cpp
+++ b/icu4c/source/test/intltest/reldatefmttest.cpp
@@ -917,7 +917,7 @@ private:
             const RelativeDateTimeFormatter& fmt,
             UDateDirection direction,
             UDateAbsoluteUnit unit);
-    void TestSidewaysDataLoading(void);
+    void TestSidewaysDataLoading();
 };
 
 void RelativeDateTimeFormatterTest::runIndexedTest(
@@ -1348,7 +1348,7 @@ void RelativeDateTimeFormatterTest::VerifyIllegalArgument(
 }
 
 /* Add tests to check "sideways" data loading. */
-void RelativeDateTimeFormatterTest::TestSidewaysDataLoading(void) {
+void RelativeDateTimeFormatterTest::TestSidewaysDataLoading() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString actual;
     UnicodeString expected;
diff --git a/icu4c/source/test/intltest/reptest.cpp b/icu4c/source/test/intltest/reptest.cpp
index dd9f1303ec1..f306b86dc84 100644
--- a/icu4c/source/test/intltest/reptest.cpp
+++ b/icu4c/source/test/intltest/reptest.cpp
@@ -75,7 +75,7 @@ public:
         return new TestReplaceable(chars, styles);
     }
 
-    ~TestReplaceable(void) {}
+    ~TestReplaceable() {}
 
     UnicodeString getStyles() {
         return styles;
@@ -212,7 +212,7 @@ private:
 
 const char NoopReplaceable::fgClassID=0;
 
-void ReplaceableTest::TestReplaceableClass(void) {
+void ReplaceableTest::TestReplaceableClass() {
     char16_t rawTestArray[][6] = {
         {0x0041, 0x0042, 0x0043, 0x0044, 0x0000, 0x0000}, // ABCD
         {0x0061, 0x0062, 0x0063, 0x0064, 0x00DF, 0x0000}, // abcd\u00DF
diff --git a/icu4c/source/test/intltest/reptest.h b/icu4c/source/test/intltest/reptest.h
index c0c38ea11b0..d4c37d0bffe 100644
--- a/icu4c/source/test/intltest/reptest.h
+++ b/icu4c/source/test/intltest/reptest.h
@@ -33,7 +33,7 @@ public:
     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=nullptr) override;
 
     /*Tests the Replaceable class according to the API documentation. */
-    void TestReplaceableClass(void);
+    void TestReplaceableClass();
 private:
     void check( const UnicodeString& transliteratorName, 
                 const UnicodeString& test, 
diff --git a/icu4c/source/test/intltest/restest.cpp b/icu4c/source/test/intltest/restest.cpp
index 62f98bd7ed2..0c6f407a642 100644
--- a/icu4c/source/test/intltest/restest.cpp
+++ b/icu4c/source/test/intltest/restest.cpp
@@ -538,7 +538,7 @@ ResourceBundleTest::TestExemplar(){
 }
 
 void 
-ResourceBundleTest::TestGetSize(void) 
+ResourceBundleTest::TestGetSize() 
 {
     const struct {
         const char* key;
@@ -595,7 +595,7 @@ ResourceBundleTest::TestGetSize(void)
 }
 
 void 
-ResourceBundleTest::TestGetLocaleByType(void) 
+ResourceBundleTest::TestGetLocaleByType() 
 {
     const struct {
         const char *requestedLocale;
diff --git a/icu4c/source/test/intltest/restest.h b/icu4c/source/test/intltest/restest.h
index d3c7109469d..7b582fe1aa0 100644
--- a/icu4c/source/test/intltest/restest.h
+++ b/icu4c/source/test/intltest/restest.h
@@ -24,16 +24,16 @@ public:
     /** 
      * Perform several extensive tests using the subtest routine testTag
      **/
-    void TestResourceBundles(void);
+    void TestResourceBundles();
     /** 
      * Test construction of ResourceBundle accessing a custom test resource-file
      **/
-    void TestConstruction(void);
+    void TestConstruction();
 
-    void TestExemplar(void);
+    void TestExemplar();
 
-    void TestGetSize(void);
-    void TestGetLocaleByType(void);
+    void TestGetSize();
+    void TestGetLocaleByType();
 
 private:
     /**
diff --git a/icu4c/source/test/intltest/restsnew.h b/icu4c/source/test/intltest/restsnew.h
index a43300a3342..db2da177a2d 100644
--- a/icu4c/source/test/intltest/restsnew.h
+++ b/icu4c/source/test/intltest/restsnew.h
@@ -24,26 +24,26 @@ public:
     /** 
      * Perform several extensive tests using the subtest routine testTag
      **/
-    void TestResourceBundles(void);
+    void TestResourceBundles();
     /** 
      * Test construction of ResourceBundle accessing a custom test resource-file
      **/
-    void TestConstruction(void);
+    void TestConstruction();
 
-    void TestIteration(void);
+    void TestIteration();
 
-    void TestOtherAPI(void);
+    void TestOtherAPI();
 
-    void TestNewTypes(void);
+    void TestNewTypes();
 
-    void TestGetByFallback(void);
+    void TestGetByFallback();
 
-    void TestFilter(void);
+    void TestFilter();
 
-    void TestIntervalAliasFallbacks(void);
+    void TestIntervalAliasFallbacks();
 
 #if U_ENABLE_TRACING
-    void TestTrace(void);
+    void TestTrace();
 #endif
 
     void TestOpenDirectFillIn();
@@ -61,8 +61,8 @@ private:
      **/
     UBool testTag(const char* frag, UBool in_Root, UBool in_te, UBool in_te_IN);
 
-    void record_pass(void);
-    void record_fail(void);
+    void record_pass();
+    void record_fail();
 
     int32_t pass;
     int32_t fail;
diff --git a/icu4c/source/test/intltest/sfwdchit.cpp b/icu4c/source/test/intltest/sfwdchit.cpp
index 8b001dc18fb..2731b6d0e11 100644
--- a/icu4c/source/test/intltest/sfwdchit.cpp
+++ b/icu4c/source/test/intltest/sfwdchit.cpp
@@ -91,7 +91,7 @@ bool SimpleFwdCharIterator::operator==(const ForwardCharacterIterator& that) con
 }
 #endif
 
-int32_t SimpleFwdCharIterator::hashCode(void) const {
+int32_t SimpleFwdCharIterator::hashCode() const {
     if (fHashCode == kInvalidHashCode)
     {
         UHashTok key;
@@ -101,11 +101,11 @@ int32_t SimpleFwdCharIterator::hashCode(void) const {
     return fHashCode;
 }
         
-UClassID SimpleFwdCharIterator::getDynamicClassID(void) const {
+UClassID SimpleFwdCharIterator::getDynamicClassID() const {
     return nullptr;
 }
 
-char16_t SimpleFwdCharIterator::nextPostInc(void) {
+char16_t SimpleFwdCharIterator::nextPostInc() {
     if(fCurrent == fEnd) {
         return ForwardCharacterIterator::DONE;
     } else {
@@ -113,7 +113,7 @@ char16_t SimpleFwdCharIterator::nextPostInc(void) {
     }
 }
         
-UChar32 SimpleFwdCharIterator::next32PostInc(void) {
+UChar32 SimpleFwdCharIterator::next32PostInc() {
     return ForwardCharacterIterator::DONE;
 }
         
diff --git a/icu4c/source/test/intltest/sfwdchit.h b/icu4c/source/test/intltest/sfwdchit.h
index 25830208b74..8ff93c82629 100644
--- a/icu4c/source/test/intltest/sfwdchit.h
+++ b/icu4c/source/test/intltest/sfwdchit.h
@@ -28,14 +28,14 @@ public:
   /**
    * Generates a hash code for this iterator.  
    */
-  virtual int32_t hashCode(void) const override;
+  virtual int32_t hashCode() const override;
         
   /**
    * Returns a UClassID for this ForwardCharacterIterator ("poor man's
    * RTTI").<P> Despite the fact that this function is public,
    * DO NOT CONSIDER IT PART OF CHARACTERITERATOR'S API!  
    */
-  virtual UClassID getDynamicClassID(void) const override;
+  virtual UClassID getDynamicClassID() const override;
 
   /**
    * Gets the current code unit for returning and advances to the next code unit
@@ -43,7 +43,7 @@ public:
    * (toward endIndex()).  If there are
    * no more code units to return, returns DONE.
    */
-  virtual char16_t      nextPostInc(void) override;
+  virtual char16_t      nextPostInc() override;
         
   /**
    * Gets the current code point for returning and advances to the next code point
@@ -51,7 +51,7 @@ public:
    * (toward endIndex()).  If there are
    * no more code points to return, returns DONE.
    */
-  virtual UChar32       next32PostInc(void) override;
+  virtual UChar32       next32PostInc() override;
         
   /**
    * Returns false if there are no more code units or code points
diff --git a/icu4c/source/test/intltest/srchtest.cpp b/icu4c/source/test/intltest/srchtest.cpp
index 98fb65fef8a..1d9ac49ff35 100644
--- a/icu4c/source/test/intltest/srchtest.cpp
+++ b/icu4c/source/test/intltest/srchtest.cpp
@@ -2453,8 +2453,8 @@ class StubSearchIterator:public SearchIterator{
 public:
     StubSearchIterator(){}
     virtual void setOffset(int32_t , UErrorCode &) override {}
-    virtual int32_t getOffset(void) const override {return 0;}
-    virtual SearchIterator* safeClone(void) const override {return nullptr;}
+    virtual int32_t getOffset() const override {return 0;}
+    virtual SearchIterator* safeClone() const override {return nullptr;}
     virtual int32_t handleNext(int32_t , UErrorCode &) override {return 0;}
     virtual int32_t handlePrev(int32_t , UErrorCode &) override {return 0;}
     virtual UClassID getDynamicClassID() const override {
diff --git a/icu4c/source/test/intltest/ssearch.cpp b/icu4c/source/test/intltest/ssearch.cpp
index 105932a0a84..d951f3d52db 100644
--- a/icu4c/source/test/intltest/ssearch.cpp
+++ b/icu4c/source/test/intltest/ssearch.cpp
@@ -345,13 +345,13 @@ public:
     OrderList(UCollator *coll, const UnicodeString &string, int32_t stringOffset = 0);
     ~OrderList();
 
-    int32_t size(void) const;
+    int32_t size() const;
     void add(int32_t order, int32_t low, int32_t high);
     const Order *get(int32_t index) const;
     int32_t getLowOffset(int32_t index) const;
     int32_t getHighOffset(int32_t index) const;
     int32_t getOrder(int32_t index) const;
-    void reverse(void);
+    void reverse();
     UBool compare(const OrderList &other) const;
     UBool matchesAt(int32_t offset, const OrderList &other) const;
 
diff --git a/icu4c/source/test/intltest/strtest.cpp b/icu4c/source/test/intltest/strtest.cpp
index 1f292a899c6..dff7bc40974 100644
--- a/icu4c/source/test/intltest/strtest.cpp
+++ b/icu4c/source/test/intltest/strtest.cpp
@@ -38,7 +38,7 @@
 
 StringTest::~StringTest() {}
 
-void StringTest::TestEndian(void) {
+void StringTest::TestEndian() {
     union {
         uint8_t byte;
         uint16_t word;
@@ -49,7 +49,7 @@ void StringTest::TestEndian(void) {
     }
 }
 
-void StringTest::TestSizeofTypes(void) {
+void StringTest::TestSizeofTypes() {
     if(U_SIZEOF_WCHAR_T!=sizeof(wchar_t)) {
         errln("TestSizeofWCharT: U_SIZEOF_WCHAR_T!=sizeof(wchar_t) - U_SIZEOF_WCHAR_T needs to be fixed in platform.h");
     }
@@ -92,7 +92,7 @@ void StringTest::TestSizeofTypes(void) {
     }
 }
 
-void StringTest::TestCharsetFamily(void) {
+void StringTest::TestCharsetFamily() {
     unsigned char c='A';
     if( (U_CHARSET_FAMILY==U_ASCII_FAMILY && c!=0x41) ||
         (U_CHARSET_FAMILY==U_EBCDIC_FAMILY && c!=0xc1)
diff --git a/icu4c/source/test/intltest/svccoll.cpp b/icu4c/source/test/intltest/svccoll.cpp
index 38b039e3d47..61a04136217 100644
--- a/icu4c/source/test/intltest/svccoll.cpp
+++ b/icu4c/source/test/intltest/svccoll.cpp
@@ -343,7 +343,7 @@ private:
 char TestFactory::gClassID = 0;
 #endif
 
-void CollationServiceTest::TestRegisterFactory(void)
+void CollationServiceTest::TestRegisterFactory()
 {
 #if !UCONFIG_NO_SERVICE
     int32_t n1, n2, n3;
diff --git a/icu4c/source/test/intltest/svccoll.h b/icu4c/source/test/intltest/svccoll.h
index 8692807aa8f..35e93c1e6bc 100644
--- a/icu4c/source/test/intltest/svccoll.h
+++ b/icu4c/source/test/intltest/svccoll.h
@@ -26,8 +26,8 @@ class CollationServiceTest: public IntlTest {
 public:
     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* /*par = nullptr */) override;
 
-    void TestRegister(void);
-    void TestRegisterFactory(void);
+    void TestRegister();
+    void TestRegisterFactory();
     void TestSeparateTree();
 
  private:
diff --git a/icu4c/source/test/intltest/tchcfmt.cpp b/icu4c/source/test/intltest/tchcfmt.cpp
index a6fbf927d9b..3ec41b619d2 100644
--- a/icu4c/source/test/intltest/tchcfmt.cpp
+++ b/icu4c/source/test/intltest/tchcfmt.cpp
@@ -40,7 +40,7 @@ static UBool chkstatus( UErrorCode &status, const char* msg = nullptr )
 }
 
 void
-TestChoiceFormat::TestSimpleExample( void )
+TestChoiceFormat::TestSimpleExample()
 {
     double limits[] = {1,2,3,4,5,6,7};
     UnicodeString monthNames[] = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
@@ -123,7 +123,7 @@ TestChoiceFormat::TestSimpleExample( void )
 }
 
 void
-TestChoiceFormat::TestComplexExample( void )
+TestChoiceFormat::TestComplexExample()
 {
     UErrorCode status = U_ZERO_ERROR;
     const double filelimits[] = {-1, 0,1,2};
@@ -456,7 +456,7 @@ TestChoiceFormat::TestComplexExample( void )
 /**
  * Test new closure API
  */
-void TestChoiceFormat::TestClosures(void) {
+void TestChoiceFormat::TestClosures() {
     // Construct open, half-open, half-open (the other way), and closed
     // intervals.  Do this both using arrays and using a pattern.
 
@@ -603,7 +603,7 @@ void TestChoiceFormat::_testPattern(const char* pattern,
 /**
  * Test applyPattern
  */
-void TestChoiceFormat::TestPatterns(void) {
+void TestChoiceFormat::TestPatterns() {
     // Try a pattern that isolates a single value.  Create
     // three ranges: [-Inf,1.0) [1.0,1.0] (1.0,+Inf]
     _testPattern("0.0#a|1.0#b|1.0<c", true,
diff --git a/icu4c/source/test/intltest/tchcfmt.h b/icu4c/source/test/intltest/tchcfmt.h
index dee1fdbc6af..1e7dfae2c7c 100644
--- a/icu4c/source/test/intltest/tchcfmt.h
+++ b/icu4c/source/test/intltest/tchcfmt.h
@@ -25,24 +25,24 @@ class TestChoiceFormat: public IntlTest {
     /** 
      *    tests basic functionality in a simple example
      **/
-    void TestSimpleExample(void); 
+    void TestSimpleExample(); 
     /**
      *    tests functionality in a more complex example,
      *    and extensive API functionality.
      *    See verbose message output statements for specifically tested API
      **/
-    void TestComplexExample(void);
+    void TestComplexExample();
 
     /**
      * Test new closure API
      */
-    void TestClosures(void);
+    void TestClosures();
 
     /**
      * Test applyPattern
      */
-    void TestPatterns(void);
-    void TestChoiceFormatToPatternOverflow(void);
+    void TestPatterns();
+    void TestChoiceFormatToPatternOverflow();
 
     void _testPattern(const char* pattern,
                       UBool isValid,
diff --git a/icu4c/source/test/intltest/tfsmalls.cpp b/icu4c/source/test/intltest/tfsmalls.cpp
index f95a490a8a6..dae2287ad23 100644
--- a/icu4c/source/test/intltest/tfsmalls.cpp
+++ b/icu4c/source/test/intltest/tfsmalls.cpp
@@ -28,7 +28,7 @@
     return ok;
 }*/
 
-void test_ParsePosition( void )
+void test_ParsePosition()
 {
     ParsePosition* pp1 = new ParsePosition();
     if (pp1 && (pp1->getIndex() == 0)) {
@@ -78,7 +78,7 @@ void test_ParsePosition( void )
 
 #include "unicode/decimfmt.h"
 
-void test_FieldPosition_example( void )
+void test_FieldPosition_example()
 {
     //***** no error detection yet !!!!!!!
     //***** this test is for compiler checks and visual verification only.
@@ -115,7 +115,7 @@ void test_FieldPosition_example( void )
 
 }
 
-void test_FieldPosition( void )
+void test_FieldPosition()
 {
 
     FieldPosition fp( 7 );
@@ -161,7 +161,7 @@ void test_FieldPosition( void )
 
 }
 
-void test_Formattable( void )
+void test_Formattable()
 {
     UErrorCode status = U_ZERO_ERROR;
     Formattable* ftp = new Formattable();
diff --git a/icu4c/source/test/intltest/thcoll.cpp b/icu4c/source/test/intltest/thcoll.cpp
index a170a886158..8beceb108a3 100644
--- a/icu4c/source/test/intltest/thcoll.cpp
+++ b/icu4c/source/test/intltest/thcoll.cpp
@@ -77,7 +77,7 @@ void CollationThaiTest::runIndexedTest(int32_t index, UBool exec, const char* &n
  * gets the same results when comparing lines one to another
  * using regular and iterative comparison.
  */
-void CollationThaiTest::TestNamesList(void) {
+void CollationThaiTest::TestNamesList() {
     if (coll == 0) {
         errln("Error: could not construct Thai collator");
         return;
@@ -124,7 +124,7 @@ void CollationThaiTest::TestNamesList(void) {
  * sorted order, and confirm that the collator compares each line as
  * preceding the following line.
  */
-void CollationThaiTest::TestDictionary(void) {
+void CollationThaiTest::TestDictionary() {
     if (coll == 0) {
         errln("Error: could not construct Thai collator");
         return;
@@ -203,7 +203,7 @@ void CollationThaiTest::TestDictionary(void) {
  * Odd corner conditions taken from "How to Sort Thai Without Rewriting Sort",
  * by Doug Cooper, http://seasrc.th.net/paper/thaisort.zip
  */
-void CollationThaiTest::TestCornerCases(void) {
+void CollationThaiTest::TestCornerCases() {
     const char* TESTS[] = {
         // Shorter words precede longer
         "\\u0e01",                               "<",    "\\u0e01\\u0e01",
@@ -352,7 +352,7 @@ U_CDECL_END
 
 #define LINES 6
 
-void CollationThaiTest::TestInvalidThai(void) {
+void CollationThaiTest::TestInvalidThai() {
   const char *tests[LINES] = {
     "\\u0E44\\u0E01\\u0E44\\u0E01",
     "\\u0E44\\u0E01\\u0E01\\u0E44",
@@ -407,7 +407,7 @@ void CollationThaiTest::TestInvalidThai(void) {
   delete c;
 }
 
-void CollationThaiTest::TestReordering(void) {
+void CollationThaiTest::TestReordering() {
   // Until UCA 4.1, the collation code swapped Thai/Lao prevowels with the following consonants,
   // resulting in consonant+prevowel == prevowel+consonant.
   // From UCA 5.0 on, there are order-reversing contractions for prevowel+consonant.
diff --git a/icu4c/source/test/intltest/thcoll.h b/icu4c/source/test/intltest/thcoll.h
index 7866ec15ca1..544913b9f47 100644
--- a/icu4c/source/test/intltest/thcoll.h
+++ b/icu4c/source/test/intltest/thcoll.h
@@ -36,30 +36,30 @@ private:
      * sorted order, and confirm that the collator compares each line as
      * preceding the following line.
      */
-    void TestDictionary(void);
+    void TestDictionary();
     
     /**
      * Odd corner conditions taken from "How to Sort Thai Without Rewriting Sort",
      * by Doug Cooper, http://seasrc.th.net/paper/thaisort.zip
      */
-    void TestCornerCases(void);
+    void TestCornerCases();
     
     /**
      * Read the external names list, and confirms that the collator 
      * gets the same results when comparing lines one to another
      * using regular and iterative comparison.
      */
-    void TestNamesList(void);
+    void TestNamesList();
 
     /** 
      * test that invalid Thai sorts properly
      */
-    void TestInvalidThai(void);
+    void TestInvalidThai();
 
     /** 
      * test that reording is done properly
      */
-    void TestReordering(void);
+    void TestReordering();
 
 private:
 
diff --git a/icu4c/source/test/intltest/tmsgfmt.cpp b/icu4c/source/test/intltest/tmsgfmt.cpp
index 082c0cad37a..467b5532879 100644
--- a/icu4c/source/test/intltest/tmsgfmt.cpp
+++ b/icu4c/source/test/intltest/tmsgfmt.cpp
@@ -1518,7 +1518,7 @@ void TestMessageFormat::TestUnlimitedArgsAndSubformats() {
 }
 
 // test RBNF extensions to message format
-void TestMessageFormat::TestRBNF(void) {
+void TestMessageFormat::TestRBNF() {
     // WARNING: this depends on the RBNF formats for en_US
     Locale locale("en", "US", "");
 
@@ -1693,7 +1693,7 @@ void TestMessageFormat::TestCompatibleApostrophe() {
     */
 }
 
-void TestMessageFormat::testAutoQuoteApostrophe(void) {
+void TestMessageFormat::testAutoQuoteApostrophe() {
     const char* patterns[] = { // pattern, expected pattern
         "'", "''",
         "''", "''",
@@ -1730,7 +1730,7 @@ void TestMessageFormat::testAutoQuoteApostrophe(void) {
     }
 }
 
-void TestMessageFormat::testCoverage(void) {
+void TestMessageFormat::testCoverage() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString testformat("{argument, plural, one{C''est # fichier} other {Ce sont # fichiers}} dans la liste.");
     MessageFormat *msgfmt = new MessageFormat(testformat, Locale("fr"), status);
diff --git a/icu4c/source/test/intltest/tmsgfmt.h b/icu4c/source/test/intltest/tmsgfmt.h
index f753705a725..efc59c64ac6 100644
--- a/icu4c/source/test/intltest/tmsgfmt.h
+++ b/icu4c/source/test/intltest/tmsgfmt.h
@@ -27,23 +27,23 @@ public:
     /**
      * regression test for a specific bug regarding ChoiceFormat boundaries
      **/
-    void testBug1(void);
+    void testBug1();
     /**
      * regression test for a specific bug regarding MessageFormat using ChoiceFormat
      **/
-    void testBug2(void);
+    void testBug2();
     /**
      * regression test for a specific bug involving NumberFormat and Locales
      **/
-    void testBug3(void);
+    void testBug3();
     /** 
      * test MessageFormat with various given patterns
      **/
-    void PatternTest(void);
+    void PatternTest();
     /** 
      * test MesageFormat formatting functionality in a simple example
      **/
-    void sample(void);
+    void sample();
 
     /** 
     * tests the static MessageFormat::format method
@@ -103,18 +103,18 @@ public:
      * In addition to the methods their name suggests,
      * they often test other methods as well.
      **/
-    void testCopyConstructor(void);
-    void testCopyConstructor2(void);
-    void testAssignment(void);
-    void testClone(void);
-    void testEquals(void);
-    void testNotEquals(void);
-    void testSetLocale(void);
-    void testFormat(void);
-    void testParse(void);
-    void testAdopt(void);
-    void TestTurkishCasing(void);
-    void testAutoQuoteApostrophe(void);
+    void testCopyConstructor();
+    void testCopyConstructor2();
+    void testAssignment();
+    void testClone();
+    void testEquals();
+    void testNotEquals();
+    void testSetLocale();
+    void testFormat();
+    void testParse();
+    void testAdopt();
+    void TestTurkishCasing();
+    void testAutoQuoteApostrophe();
     void testCoverage();
     void testGetFormatNames();
     void TestTrimArgumentName();
diff --git a/icu4c/source/test/intltest/transapi.cpp b/icu4c/source/test/intltest/transapi.cpp
index 9ebdb943536..e098e47ebba 100644
--- a/icu4c/source/test/intltest/transapi.cpp
+++ b/icu4c/source/test/intltest/transapi.cpp
@@ -976,8 +976,8 @@ static const int MyUnicodeFunctorTestClassID = 0;
 class MyUnicodeFunctorTestClass : public UnicodeFunctor {
 public:
     virtual UnicodeFunctor* clone() const override {return nullptr;}
-    static UClassID getStaticClassID(void) {return (UClassID)&MyUnicodeFunctorTestClassID;}
-    virtual UClassID getDynamicClassID(void) const override {return getStaticClassID();}
+    static UClassID getStaticClassID() {return (UClassID)&MyUnicodeFunctorTestClassID;}
+    virtual UClassID getDynamicClassID() const override {return getStaticClassID();}
     virtual void setData(const TransliterationRuleData*) override {}
 };
 
diff --git a/icu4c/source/test/intltest/transapi.h b/icu4c/source/test/intltest/transapi.h
index 1f03a0a17ba..9c1f1899ba0 100644
--- a/icu4c/source/test/intltest/transapi.h
+++ b/icu4c/source/test/intltest/transapi.h
@@ -29,39 +29,39 @@ public:
     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=nullptr) override;
 
     /*Tests the function getDisplayName() */
-    void TestGetDisplayName(void);
+    void TestGetDisplayName();
 
-    void TestgetID(void);
+    void TestgetID();
 
-    void TestgetInverse(void);
+    void TestgetInverse();
 
-    void TestClone(void);
+    void TestClone();
 
-    void TestTransliterate1(void);
+    void TestTransliterate1();
 
-    void TestTransliterate2(void);
+    void TestTransliterate2();
 
-    void TestTransliterate3(void);
+    void TestTransliterate3();
 
-    void TestSimpleKeyboardTransliterator(void);
+    void TestSimpleKeyboardTransliterator();
 
-    void TestKeyboardTransliterator1(void);
+    void TestKeyboardTransliterator1();
 
-    void TestKeyboardTransliterator2(void);
+    void TestKeyboardTransliterator2();
 
-    void TestKeyboardTransliterator3(void);
+    void TestKeyboardTransliterator3();
 
-    void TestGetAdoptFilter(void);
+    void TestGetAdoptFilter();
 
-    void TestNullTransliterator(void);
+    void TestNullTransliterator();
 
-    void TestRegisterUnregister(void);
+    void TestRegisterUnregister();
 
-    void TestLatinDevanagari(void);
+    void TestLatinDevanagari();
     
-    void TestDevanagariLatinRT(void);
+    void TestDevanagariLatinRT();
 
-    void TestUnicodeFunctor(void);
+    void TestUnicodeFunctor();
 
     /*Internal functions used*/
     void doTest(const UnicodeString& , const UnicodeString& , const UnicodeString& );
diff --git a/icu4c/source/test/intltest/transrt.h b/icu4c/source/test/intltest/transrt.h
index 9376bbad349..66d88c7f784 100644
--- a/icu4c/source/test/intltest/transrt.h
+++ b/icu4c/source/test/intltest/transrt.h
@@ -28,20 +28,20 @@ class TransliteratorRoundTripTest : public IntlTest {
     void runIndexedTest(int32_t index, UBool exec, const char* &name,
                         char* par=nullptr) override;
 
-    void TestKana(void);
-    void TestHiragana(void);
-    void TestKatakana(void);
-    void TestJamo(void);
-    void TestHangul(void);
-    void TestHan(void);
-    void TestGreek(void);
-    void TestGreekUNGEGN(void);
-    void Testel(void);
-    void TestCyrillic(void);
-    void TestDevanagariLatin(void);
-    void TestInterIndic(void);
-    void TestHebrew(void);
-    void TestArabic(void);
+    void TestKana();
+    void TestHiragana();
+    void TestKatakana();
+    void TestJamo();
+    void TestHangul();
+    void TestHan();
+    void TestGreek();
+    void TestGreekUNGEGN();
+    void Testel();
+    void TestCyrillic();
+    void TestDevanagariLatin();
+    void TestInterIndic();
+    void TestHebrew();
+    void TestArabic();
     void TestDebug(const char* name,const char fromSet[],
                    const char* toSet,const char* exclusions);
 };
diff --git a/icu4c/source/test/intltest/transtst.cpp b/icu4c/source/test/intltest/transtst.cpp
index 04bbc08d1f5..33341ac1e18 100644
--- a/icu4c/source/test/intltest/transtst.cpp
+++ b/icu4c/source/test/intltest/transtst.cpp
@@ -301,7 +301,7 @@ void TransliteratorTest::TestInstantiation() {
     }
 }
 
-void TransliteratorTest::TestSimpleRules(void) {
+void TransliteratorTest::TestSimpleRules() {
     /* Example: rules 1. ab>x|y
      *                2. yc>z
      *
@@ -361,7 +361,7 @@ void TransliteratorTest::TestSimpleRules(void) {
 /**
  * Test inline set syntax and set variable syntax.
  */
-void TransliteratorTest::TestInlineSet(void) {
+void TransliteratorTest::TestInlineSet() {
     expect("{ [:Ll:] } x > y; [:Ll:] > z;", "aAbxq", "zAyzz");
     expect("a[0-9]b > qrs", "1a7b9", "1qrs9");
     
@@ -384,7 +384,7 @@ void TransliteratorTest::TestInlineSet(void) {
  * F' != I.  However, if we are careful about the input, we will
  * get the expected results.
  */
-void TransliteratorTest::TestRuleBasedInverse(void) {
+void TransliteratorTest::TestRuleBasedInverse() {
     UnicodeString RULES =
         UnicodeString("abc>zyx;") +
         "ab>yz;" +
@@ -436,7 +436,7 @@ void TransliteratorTest::TestRuleBasedInverse(void) {
 /**
  * Basic test of keyboard.
  */
-void TransliteratorTest::TestKeyboard(void) {
+void TransliteratorTest::TestKeyboard() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createFromRules("<ID>",
@@ -468,7 +468,7 @@ void TransliteratorTest::TestKeyboard(void) {
 /**
  * Basic test of keyboard with cursor.
  */
-void TransliteratorTest::TestKeyboard2(void) {
+void TransliteratorTest::TestKeyboard2() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createFromRules("<ID>",
@@ -503,7 +503,7 @@ void TransliteratorTest::TestKeyboard2(void) {
 /**
  * Test keyboard transliteration with back-replacement.
  */
-void TransliteratorTest::TestKeyboard3(void) {
+void TransliteratorTest::TestKeyboard3() {
     // We want th>z but t>y.  Furthermore, during keyboard
     // transliteration we want t>y then yh>z if t, then h are
     // typed.
@@ -568,7 +568,7 @@ void TransliteratorTest::keyboardAux(const Transliterator& t,
     }
 }
 
-void TransliteratorTest::TestArabic(void) {
+void TransliteratorTest::TestArabic() {
 // Test disabled for 2.0 until new Arabic transliterator can be written.
 //    /*
 //    const char* DATA[] = {
@@ -605,7 +605,7 @@ void TransliteratorTest::TestArabic(void) {
  * Compose the Kana transliterator forward and reverse and try
  * some strings that should come out unchanged.
  */
-void TransliteratorTest::TestCompoundKana(void) {
+void TransliteratorTest::TestCompoundKana() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* t = Transliterator::createInstance("Latin-Hiragana;Hiragana-Latin", UTRANS_FORWARD, parseError, status);
@@ -620,7 +620,7 @@ void TransliteratorTest::TestCompoundKana(void) {
 /**
  * Compose the hex transliterators forward and reverse.
  */
-void TransliteratorTest::TestCompoundHex(void) {
+void TransliteratorTest::TestCompoundHex() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* a = Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
@@ -680,7 +680,7 @@ public:
 /**
  * Do some basic tests of filtering.
  */
-void TransliteratorTest::TestFiltering(void) {
+void TransliteratorTest::TestFiltering() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* hex = Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
@@ -711,7 +711,7 @@ void TransliteratorTest::TestFiltering(void) {
 /**
  * Test anchors
  */
-void TransliteratorTest::TestAnchors(void) {
+void TransliteratorTest::TestAnchors() {
     expect(UnicodeString("^a  > 0; a$ > 2 ; a > 1;", ""),
            "aaa",
            "012");
@@ -740,7 +740,7 @@ void TransliteratorTest::TestAnchors(void) {
 /**
  * Test pattern quoting and escape mechanisms.
  */
-void TransliteratorTest::TestPatternQuoting(void) {
+void TransliteratorTest::TestPatternQuoting() {
     // Array of 3n items
     // Each item is <rules>, <input>, <expected output>
     const UnicodeString DATA[] = {
@@ -766,7 +766,7 @@ void TransliteratorTest::TestPatternQuoting(void) {
 /**
  * Regression test for bugs found in Greek transliteration.
  */
-void TransliteratorTest::TestJ277(void) {
+void TransliteratorTest::TestJ277() {
     UErrorCode status = U_ZERO_ERROR;
     UParseError parseError;
     Transliterator *gl = Transliterator::createInstance("Greek-Latin; NFD; [:M:]Remove; NFC", UTRANS_FORWARD, parseError, status);
@@ -848,7 +848,7 @@ void TransliteratorTest::TestJ277(void) {
 /**
  * Prefix, suffix support in hex transliterators
  */
-void TransliteratorTest::TestJ243(void) {
+void TransliteratorTest::TestJ243() {
     UErrorCode ec = U_ZERO_ERROR;
 
     // Test default Hex-Any, which should handle
@@ -875,7 +875,7 @@ void TransliteratorTest::TestJ243(void) {
 /**
  * Parsers need better syntax error messages.
  */
-void TransliteratorTest::TestJ329(void) {
+void TransliteratorTest::TestJ329() {
     
     struct { UBool containsErrors; const char* rule; } DATA[] = {
         { false, "a > b; c > d" },
@@ -912,7 +912,7 @@ void TransliteratorTest::TestJ329(void) {
 /**
  * Test segments and segment references.
  */
-void TransliteratorTest::TestSegments(void) {
+void TransliteratorTest::TestSegments() {
     // Array of 3n items
     // Each item is <rules>, <input>, <expected output>
     UnicodeString DATA[] = {
@@ -944,7 +944,7 @@ void TransliteratorTest::TestSegments(void) {
 /**
  * Test cursor positioning outside of the key
  */
-void TransliteratorTest::TestCursorOffset(void) {
+void TransliteratorTest::TestCursorOffset() {
     // Array of 3n items
     // Each item is <rules>, <input>, <expected output>
     UnicodeString DATA[] = {
@@ -977,7 +977,7 @@ void TransliteratorTest::TestCursorOffset(void) {
  * Test zero length and > 1 char length variable values.  Test
  * use of variable refs in UnicodeSets.
  */
-void TransliteratorTest::TestArbitraryVariableValues(void) {
+void TransliteratorTest::TestArbitraryVariableValues() {
     // Array of 3n items
     // Each item is <rules>, <input>, <expected output>
     UnicodeString DATA[] = {
@@ -1018,7 +1018,7 @@ void TransliteratorTest::TestArbitraryVariableValues(void) {
  * Confirm that the contextStart, contextLimit, start, and limit
  * behave correctly. J474.
  */
-void TransliteratorTest::TestPositionHandling(void) {
+void TransliteratorTest::TestPositionHandling() {
     // Array of 3n items
     // Each item is <rules>, <input>, <expected output>
     const char* DATA[] = {
@@ -1078,7 +1078,7 @@ void TransliteratorTest::TestPositionHandling(void) {
 /**
  * Test the Hiragana-Katakana transliterator.
  */
-void TransliteratorTest::TestHiraganaKatakana(void) {
+void TransliteratorTest::TestHiraganaKatakana() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* hk = Transliterator::createInstance("Hiragana-Katakana", UTRANS_FORWARD, parseError, status);
@@ -1126,7 +1126,7 @@ void TransliteratorTest::TestHiraganaKatakana(void) {
 /**
  * Test cloning / copy constructor of RBT.
  */
-void TransliteratorTest::TestCopyJ476(void) {
+void TransliteratorTest::TestCopyJ476() {
     // The real test here is what happens when the destructors are
     // called.  So we let one object get destructed, and check to
     // see that its copy still works.
@@ -1152,7 +1152,7 @@ void TransliteratorTest::TestCopyJ476(void) {
  * Test inter-Indic transliterators.  These are composed.
  * ICU4C Jitterbug 483.
  */
-void TransliteratorTest::TestInterIndic(void) {
+void TransliteratorTest::TestInterIndic() {
     UnicodeString ID("Devanagari-Gujarati", "");
     UErrorCode status = U_ZERO_ERROR;
     UParseError parseError;
@@ -1174,7 +1174,7 @@ void TransliteratorTest::TestInterIndic(void) {
 /**
  * Test filter syntax in IDs. (J918)
  */
-void TransliteratorTest::TestFilterIDs(void) {
+void TransliteratorTest::TestFilterIDs() {
     // Array of 3n strings:
     // <id>, <inverse id>, <input>, <expected output>
     const char* DATA[] = {
@@ -1232,7 +1232,7 @@ void TransliteratorTest::TestFilterIDs(void) {
 /**
  * Test the case mapping transliterators.
  */
-void TransliteratorTest::TestCaseMap(void) {
+void TransliteratorTest::TestCaseMap() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* toUpper =
@@ -1264,7 +1264,7 @@ void TransliteratorTest::TestCaseMap(void) {
 /**
  * Test the name mapping transliterators.
  */
-void TransliteratorTest::TestNameMap(void) {
+void TransliteratorTest::TestNameMap() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* uni2name =
@@ -1305,7 +1305,7 @@ void TransliteratorTest::TestNameMap(void) {
 /**
  * Test liberalized ID syntax.  1006c
  */
-void TransliteratorTest::TestLiberalizedID(void) {
+void TransliteratorTest::TestLiberalizedID() {
     // Some test cases have an expected getID() value of nullptr.  This
     // means I have disabled the test case for now.  This stuff is
     // still under development, and I haven't decided whether to make
@@ -1590,7 +1590,7 @@ void TransliteratorTest::TestBasicTransliteratorEvenWithoutData() {
 /**
  * Test compound RBT rules.
  */
-void TransliteratorTest::TestCompoundRBT(void) {
+void TransliteratorTest::TestCompoundRBT() {
     // Careful with spacing and ';' here:  Phrase this exactly
     // as toRules() is going to return it.  If toRules() changes
     // with regard to spacing or ';', then adjust this string.
@@ -1703,7 +1703,7 @@ void TransliteratorTest::TestCompoundRBT(void) {
  * touch 'A' in the original". But because an intermediate result
  * happens to go through "A", the Greek Alpha gets hung up.
  */
-void TransliteratorTest::TestCompoundFilter(void) {
+void TransliteratorTest::TestCompoundFilter() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createInstance
@@ -1726,7 +1726,7 @@ void TransliteratorTest::TestCompoundFilter(void) {
     delete t;
 }
 
-void TransliteratorTest::TestRemove(void) {
+void TransliteratorTest::TestRemove() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createInstance("Remove[abc]", UTRANS_FORWARD, parseError, status);
@@ -1746,7 +1746,7 @@ void TransliteratorTest::TestRemove(void) {
     delete t2;
 }
 
-void TransliteratorTest::TestToRules(void) {
+void TransliteratorTest::TestToRules() {
     const char* RBT = "rbt";
     const char* SET = "set";
     static const char* DATA[] = {
@@ -2026,7 +2026,7 @@ class TestTrans : public Transliterator {
 public:
     TestTrans(const UnicodeString& id) : Transliterator(id, 0) {
     }
-    virtual TestTrans* clone(void) const override {
+    virtual TestTrans* clone() const override {
         return new TestTrans(getID());
     }
     virtual void handleTransliterate(Replaceable& /*text*/, UTransPosition& offsets,
@@ -2042,7 +2042,7 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(TestTrans)
 /**
  * Test Source-Target/Variant.
  */
-void TransliteratorTest::TestSTV(void) {
+void TransliteratorTest::TestSTV() {
     int32_t ns = Transliterator::countAvailableSources();
     logln((UnicodeString)"countAvailableSources at start: " + ns);
     if (ns < 0 || ns > 255) {
@@ -2162,7 +2162,7 @@ void TransliteratorTest::TestSTV(void) {
 /**
  * Test inverse of Greek-Latin; Title()
  */
-void TransliteratorTest::TestCompoundInverse(void) {
+void TransliteratorTest::TestCompoundInverse() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createInstance
@@ -2395,7 +2395,7 @@ void TransliteratorTest::TestEmptyContext() {
 /**
 * Test compound filter ID syntax
 */
-void TransliteratorTest::TestCompoundFilterID(void) {
+void TransliteratorTest::TestCompoundFilterID() {
     static const char* DATA[] = {
         // Col. 1 = ID or rule set (latter must start with #)
 
@@ -2549,7 +2549,7 @@ void TransliteratorTest::TestNewEngine() {
  * Test quantified segment behavior.  We want:
  * ([abc])+ > x $1 x; applied to "cba" produces "xax"
  */
-void TransliteratorTest::TestQuantifiedSegment(void) {
+void TransliteratorTest::TestQuantifiedSegment() {
     // The normal case
     expect("([abc]+) > x $1 x;", "cba", "xcbax");
 
@@ -2968,7 +2968,7 @@ void TransliteratorTest::TestGurmukhiDevanagari(){
 /**
  * Test instantiation from a locale.
  */
-void TransliteratorTest::TestLocaleInstantiation(void) {
+void TransliteratorTest::TestLocaleInstantiation() {
     UParseError pe;
     UErrorCode ec = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createInstance("ru_RU-Latin", UTRANS_FORWARD, pe, ec);
@@ -2993,7 +2993,7 @@ void TransliteratorTest::TestLocaleInstantiation(void) {
 /**
  * Test title case handling of accent (should ignore accents)
  */
-void TransliteratorTest::TestTitleAccents(void) {
+void TransliteratorTest::TestTitleAccents() {
     UParseError pe;
     UErrorCode ec = U_ZERO_ERROR;
     Transliterator *t = Transliterator::createInstance("Title", UTRANS_FORWARD, pe, ec);
@@ -3405,7 +3405,7 @@ void TransliteratorTest::TestDisplayName() {
 #endif
 }
 
-void TransliteratorTest::TestSpecialCases(void) {
+void TransliteratorTest::TestSpecialCases() {
     const UnicodeString registerRules[] = {
         "Any-Dev1", "x > X; y > Y;",
         "Any-Dev2", "XY > Z",
@@ -3538,7 +3538,7 @@ char* Char32ToEscapedChars(UChar32 ch, char* buffer, size_t n) {
     return buffer;
 }
 
-void TransliteratorTest::TestSurrogateCasing (void) {
+void TransliteratorTest::TestSurrogateCasing() {
     // check that casing handles surrogates
     // titlecase is currently defective
     char buffer[20];
@@ -3599,7 +3599,7 @@ static UnicodeString _findMatch(const UnicodeString& source,
 
 // Check to see that incremental gets at least part way through a reasonable string.
 
-void TransliteratorTest::TestIncrementalProgress(void) {
+void TransliteratorTest::TestIncrementalProgress() {
     UErrorCode ec = U_ZERO_ERROR;
     UnicodeString latinTest = "The Quick Brown Fox.";
     UnicodeString devaTest;
@@ -3774,7 +3774,7 @@ void TransliteratorTest::TestFunction() {
     delete t;
 }
 
-void TransliteratorTest::TestInvalidBackRef(void) {
+void TransliteratorTest::TestInvalidBackRef() {
     UnicodeString rule =  ". > $1;";
     UnicodeString rule2 =CharsToUnicodeString("(.) <> &hex/unicode($1) &name($1); . > $1; [{}] >\\u0020;");
     UParseError pe;
@@ -3963,7 +3963,7 @@ void TransliteratorTest::TestUserFunction() {
 /**
  * Test the Any-X transliterators.
  */
-void TransliteratorTest::TestAnyX(void) {
+void TransliteratorTest::TestAnyX() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* anyLatin =
@@ -3984,7 +3984,7 @@ void TransliteratorTest::TestAnyX(void) {
 /**
  * Test Any-X transliterators with sample letters from all scripts.
  */
-void TransliteratorTest::TestAny(void) {
+void TransliteratorTest::TestAny() {
     UErrorCode status = U_ZERO_ERROR;
     // Note: there is a lot of implicit construction of UnicodeStrings from (char *) in
     //       function call parameters going on in this test.
@@ -4653,7 +4653,7 @@ void TransliteratorTest::TestRuleStripping() {
 /**
  * Test the Halfwidth-Fullwidth transliterator (ticket 6281).
  */
-void TransliteratorTest::TestHalfwidthFullwidth(void) {
+void TransliteratorTest::TestHalfwidthFullwidth() {
     UParseError parseError;
     UErrorCode status = U_ZERO_ERROR;
     Transliterator* hf = Transliterator::createInstance("Halfwidth-Fullwidth", UTRANS_FORWARD, parseError, status);
@@ -4703,7 +4703,7 @@ void TransliteratorTest::TestHalfwidthFullwidth(void) {
      *              TODO: confirm that the expected results are correct.
      *              For now, test just confirms that C++ and Java give identical results.
      */
-void TransliteratorTest::TestThai(void) {
+void TransliteratorTest::TestThai() {
 #if !UCONFIG_NO_BREAK_ITERATION
     // The expectations in this test heavily depends on the Thai dictionary.
     // Therefore, we skip this test under the LSTM configuration.
diff --git a/icu4c/source/test/intltest/transtst.h b/icu4c/source/test/intltest/transtst.h
index df7934ab54b..606bd93086e 100644
--- a/icu4c/source/test/intltest/transtst.h
+++ b/icu4c/source/test/intltest/transtst.h
@@ -33,15 +33,15 @@ private:
     void runIndexedTest(int32_t index, UBool exec, const char* &name,
                         char* par=nullptr) override;
 
-    void TestInstantiation(void);
+    void TestInstantiation();
     
-    void TestSimpleRules(void);
+    void TestSimpleRules();
 
-    void TestInlineSet(void);
+    void TestInlineSet();
 
-    void TestAnchors(void);
+    void TestAnchors();
 
-    void TestPatternQuoting(void);
+    void TestPatternQuoting();
 
     /**
      * Create some inverses and confirm that they work.  We have to be
@@ -51,325 +51,325 @@ private:
      * F' != I.  However, if we are careful about the input, we will
      * get the expected results.
      */
-    void TestRuleBasedInverse(void);
+    void TestRuleBasedInverse();
 
     /**
      * Basic test of keyboard.
      */
-    void TestKeyboard(void);
+    void TestKeyboard();
 
     /**
      * Basic test of keyboard with cursor.
      */
-    void TestKeyboard2(void);
+    void TestKeyboard2();
 
     /**
      * Test keyboard transliteration with back-replacement.
      */
-    void TestKeyboard3(void);
+    void TestKeyboard3();
     
     void keyboardAux(const Transliterator& t,
                      const char* DATA[], int32_t DATA_length);
     
-    void TestArabic(void);
+    void TestArabic();
 
     /**
      * Compose the Kana transliterator forward and reverse and try
      * some strings that should come out unchanged.
      */
-    void TestCompoundKana(void);
+    void TestCompoundKana();
 
     /**
      * Compose the hex transliterators forward and reverse.
      */
-    void TestCompoundHex(void);
+    void TestCompoundHex();
 
     /**
      * Do some basic tests of filtering.
      */
-    void TestFiltering(void);
+    void TestFiltering();
 
     /**
      * Regression test for bugs found in Greek transliteration.
      */
-    void TestJ277(void);
+    void TestJ277();
 
     /**
      * Prefix, suffix support in hex transliterators.
      */
-    void TestJ243(void);
+    void TestJ243();
 
     /**
      * Parsers need better syntax error messages.
      */
-    void TestJ329(void);
+    void TestJ329();
 
     /**
      * Test segments and segment references.
      */
-    void TestSegments(void);
+    void TestSegments();
     
     /**
      * Test cursor positioning outside of the key
      */
-    void TestCursorOffset(void);
+    void TestCursorOffset();
     
     /**
      * Test zero length and > 1 char length variable values.  Test
      * use of variable refs in UnicodeSets.
      */
-    void TestArbitraryVariableValues(void);
+    void TestArbitraryVariableValues();
 
     /**
      * Confirm that the contextStart, contextLimit, start, and limit
      * behave correctly. J474.
      */
-    void TestPositionHandling(void);
+    void TestPositionHandling();
 
     /**
      * Test the Hiragana-Katakana transliterator.
      */
-    void TestHiraganaKatakana(void);
+    void TestHiraganaKatakana();
 
     /**
      * Test cloning / copy constructor of RBT.
      */
-    void TestCopyJ476(void);
+    void TestCopyJ476();
 
     /**
      * Test inter-Indic transliterators.  These are composed.
      * ICU4C Jitterbug 483.
      */
-    void TestInterIndic(void);
+    void TestInterIndic();
 
     /**
      * Test filter syntax in IDs. (J918)
      */
-    void TestFilterIDs(void);
+    void TestFilterIDs();
 
     /**
      * Test the case mapping transliterators.
      */
-    void TestCaseMap(void);
+    void TestCaseMap();
 
     /**
      * Test the name mapping transliterators.
      */
-    void TestNameMap(void);
+    void TestNameMap();
 
     /**
      * Test liberalized ID syntax.  1006c
      */
-    void TestLiberalizedID(void);
+    void TestLiberalizedID();
     /**
      * Test Jitterbug 912
      */
-    void TestCreateInstance(void);
+    void TestCreateInstance();
 
-    void TestNormalizationTransliterator(void);
+    void TestNormalizationTransliterator();
 
-    void TestCompoundRBT(void);
+    void TestCompoundRBT();
 
-    void TestCompoundFilter(void);
+    void TestCompoundFilter();
 
-    void TestRemove(void);
+    void TestRemove();
 
-    void TestToRules(void);
+    void TestToRules();
 
-    void TestContext(void);
+    void TestContext();
 
-    void TestSupplemental(void);
+    void TestSupplemental();
 
-    void TestQuantifier(void);
+    void TestQuantifier();
 
     /**
      * Test Source-Target/Variant.
      */
-    void TestSTV(void);
+    void TestSTV();
 
-    void TestCompoundInverse(void);
+    void TestCompoundInverse();
 
-    void TestNFDChainRBT(void);
+    void TestNFDChainRBT();
 
     /**
      * Inverse of "Null" should be "Null". (J21)
      */
-    void TestNullInverse(void);
+    void TestNullInverse();
     
     /**
      * Check ID of inverse of alias. (J22)
      */
-    void TestAliasInverseID(void);
+    void TestAliasInverseID();
     
     /**
      * Test IDs of inverses of compound transliterators. (J20)
      */
-    void TestCompoundInverseID(void);
+    void TestCompoundInverseID();
     
     /**
      * Test undefined variable.
      */
-    void TestUndefinedVariable(void);
+    void TestUndefinedVariable();
     
     /**
      * Test empty context.
      */
-    void TestEmptyContext(void);
+    void TestEmptyContext();
 
     /**
      * Test compound filter ID syntax
      */
-    void TestCompoundFilterID(void);
+    void TestCompoundFilterID();
 
     /**
      * Test new property set syntax
      */
-    void TestPropertySet(void);
+    void TestPropertySet();
 
     /**
      * Test various failure points of the new 2.0 engine.
      */
-    void TestNewEngine(void);
+    void TestNewEngine();
 
     /**
      * Test quantified segment behavior.  We want:
      * ([abc])+ > x $1 x; applied to "cba" produces "xax"
      */
-    void TestQuantifiedSegment(void);
+    void TestQuantifiedSegment();
 
     /* Devanagari-Latin rules Test */
-    void TestDevanagariLatinRT(void);
+    void TestDevanagariLatinRT();
 
     /* Telugu-Latin rules Test */
-    void TestTeluguLatinRT(void);
+    void TestTeluguLatinRT();
     
     /* Gujarati-Latin rules Test */
-    void TestGujaratiLatinRT(void);
+    void TestGujaratiLatinRT();
     
     /* Sanskrit-Latin rules Test */
-    void TestSanskritLatinRT(void);
+    void TestSanskritLatinRT();
     
     /* Test Compound Indic-Latin transliterators*/
-    void TestCompoundLatinRT(void);
+    void TestCompoundLatinRT();
 
     /* Test bindi and tippi for Gurmukhi */
-    void TestGurmukhiDevanagari(void);
+    void TestGurmukhiDevanagari();
     /**
      * Test instantiation from a locale.
      */
-    void TestLocaleInstantiation(void);        
+    void TestLocaleInstantiation();        
     
     /**
      * Test title case handling of accent (should ignore accents)
      */
-    void TestTitleAccents(void);
+    void TestTitleAccents();
 
     /**
      * Basic test of a locale resource based rule.
      */
-    void TestLocaleResource(void);
+    void TestLocaleResource();
 
     /**
      * Make sure parse errors reference the right line.
      */
-    void TestParseError(void);
+    void TestParseError();
 
     /**
      * Make sure sets on output are disallowed.
      */
-    void TestOutputSet(void);
+    void TestOutputSet();
 
     /**
      * Test the use variable range pragma, making sure that use of
      * variable range characters is detected and flagged as an error.
      */
-    void TestVariableRange(void);
+    void TestVariableRange();
 
     /**
      * Test invalid post context error handling
      */
-    void TestInvalidPostContext(void);
+    void TestInvalidPostContext();
 
     /**
      * Test ID form variants
      */
-    void TestIDForms(void);
+    void TestIDForms();
 
     /**
      * Mark's toRules test.
      */
-    void TestToRulesMark(void);
+    void TestToRulesMark();
 
     /**
      * Test Escape and Unescape transliterators.
      */
-    void TestEscape(void);
+    void TestEscape();
 
-    void TestAnchorMasking(void);
+    void TestAnchorMasking();
 
     /**
      * Make sure display names of variants look reasonable.
      */
-    void TestDisplayName(void);
+    void TestDisplayName();
     
     /** 
      * Check to see if case mapping works correctly.
      */
-    void TestSpecialCases(void);
+    void TestSpecialCases();
     /**
      * Check to see that incremental gets at least part way through a reasonable string.
      */
-    void TestIncrementalProgress(void);
+    void TestIncrementalProgress();
 
     /** 
      * Check that casing handles surrogates.
      */
-    void TestSurrogateCasing (void);
+    void TestSurrogateCasing();
 
-    void TestFunction(void);
+    void TestFunction();
 
-    void TestInvalidBackRef(void);
+    void TestInvalidBackRef();
 
-    void TestMulticharStringSet(void);
+    void TestMulticharStringSet();
 
-    void TestUserFunction(void);
+    void TestUserFunction();
 
-    void TestAnyX(void);
+    void TestAnyX();
 
-    void TestAny(void);
+    void TestAny();
 
-    void TestSourceTargetSet(void);
+    void TestSourceTargetSet();
 
-    void TestPatternWhiteSpace(void);
+    void TestPatternWhiteSpace();
 
-    void TestAllCodepoints(void);
+    void TestAllCodepoints();
 
-    void TestBoilerplate(void);
+    void TestBoilerplate();
 
-    void TestAlternateSyntax(void);
+    void TestAlternateSyntax();
 
-    void TestRuleStripping(void);
+    void TestRuleStripping();
 
-    void TestHalfwidthFullwidth(void);
+    void TestHalfwidthFullwidth();
 
-    void TestThai(void);
+    void TestThai();
 
     /**
      * Tests the multiple-pass syntax
      */
-    void TestBeginEnd(void);
+    void TestBeginEnd();
 
     /**
      * Tests that toRules() works right with the multiple-pass syntax
      */
-    void TestBeginEndToRules(void);
+    void TestBeginEndToRules();
 
     /**
      * Tests the registerAlias() function
      */
-    void TestRegisterAlias(void);
+    void TestRegisterAlias();
 
-    void TestBasicTransliteratorEvenWithoutData(void);
+    void TestBasicTransliteratorEvenWithoutData();
     //======================================================================
     // Support methods
     //======================================================================
diff --git a/icu4c/source/test/intltest/trnserr.h b/icu4c/source/test/intltest/trnserr.h
index a3113c2f9d4..91ec091c8da 100644
--- a/icu4c/source/test/intltest/trnserr.h
+++ b/icu4c/source/test/intltest/trnserr.h
@@ -35,19 +35,19 @@ public:
     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=nullptr) override;
 
     /*Tests the returned error codes on all the APIs according to the API documentation. */
-    void TestTransliteratorErrors(void);
+    void TestTransliteratorErrors();
     
-    void TestUnicodeSetErrors(void);
+    void TestUnicodeSetErrors();
 
-    //void TestUniToHexErrors(void);
+    //void TestUniToHexErrors();
 
-    void TestRBTErrors(void);
+    void TestRBTErrors();
 
-    //void TestHexToUniErrors(void);
+    //void TestHexToUniErrors();
 
     // JitterBug 4452, for coverage.  The reason to put this method here is 
     //  this class is comparable smaller than other Transliterator*Test classes
-    void TestCoverage(void);
+    void TestCoverage();
 
 };
 
diff --git a/icu4c/source/test/intltest/tsdate.h b/icu4c/source/test/intltest/tsdate.h
index cb149d2f103..e346b168cab 100644
--- a/icu4c/source/test/intltest/tsdate.h
+++ b/icu4c/source/test/intltest/tsdate.h
@@ -49,11 +49,11 @@ private:
     /**
      *  return a random number
      **/
-    double randDouble(void);
+    double randDouble();
     /**
      * generate description for verbose test output
      **/
-    void describeTest(void);
+    void describeTest();
 
     DateFormat *fFormat;
     UnicodeString fTestName;
diff --git a/icu4c/source/test/intltest/tsdtfmsy.h b/icu4c/source/test/intltest/tsdtfmsy.h
index f37df0d3f03..6d01b805c26 100644
--- a/icu4c/source/test/intltest/tsdtfmsy.h
+++ b/icu4c/source/test/intltest/tsdtfmsy.h
@@ -29,12 +29,12 @@ private:
     /**
      * Test getMonths.
      */
-    void TestGetMonths(void);
-    void TestGetMonths2(void);
+    void TestGetMonths();
+    void TestGetMonths2();
 
-    void TestGetWeekdays2(void);
-    void TestGetEraNames(void);
-    void TestGetSetSpecificItems(void);
+    void TestGetWeekdays2();
+    void TestGetEraNames();
+    void TestGetSetSpecificItems();
 
     UBool UnicodeStringsArePrefixes(int32_t count, int32_t prefixLen, const UnicodeString *prefixArray, const UnicodeString *baseArray);
 };
diff --git a/icu4c/source/test/intltest/tsmthred.cpp b/icu4c/source/test/intltest/tsmthred.cpp
index 27b11730595..7a03227ed2c 100644
--- a/icu4c/source/test/intltest/tsmthred.cpp
+++ b/icu4c/source/test/intltest/tsmthred.cpp
@@ -166,7 +166,7 @@ private:
 };
 
 
-void TestArabicShapeThreads::doTailTest(void) {
+void TestArabicShapeThreads::doTailTest() {
     static const char16_t src[] = { 0x0020, 0x0633, 0 };
     static const char16_t dst_old[] = { 0xFEB1, 0x200B,0 };
     static const char16_t dst_new[] = { 0xFEB1, 0xFE73,0 };
diff --git a/icu4c/source/test/intltest/tsmthred.h b/icu4c/source/test/intltest/tsmthred.h
index 7b8a986fd82..ef9888382f0 100644
--- a/icu4c/source/test/intltest/tsmthred.h
+++ b/icu4c/source/test/intltest/tsmthred.h
@@ -29,20 +29,20 @@ public:
     /**
      * test that threads even work
      **/
-    void TestThreads(void);
+    void TestThreads();
 
 	/**
      * test that arabic shaping can work in threads
      **/
-    void TestArabicShapingThreads(void);
+    void TestArabicShapingThreads();
 	
 #if !UCONFIG_NO_FORMATTING
     /**
      * test that intl functions work in a multithreaded context
      **/
-    void TestThreadedIntl(void);
+    void TestThreadedIntl();
 #endif
-    void TestCollators(void);
+    void TestCollators();
     void TestString();
     void TestAnyTranslit();
     void TestUnifiedCache();
diff --git a/icu4c/source/test/intltest/tsputil.cpp b/icu4c/source/test/intltest/tsputil.cpp
index b566c850eaf..8d4c41b6f0d 100644
--- a/icu4c/source/test/intltest/tsputil.cpp
+++ b/icu4c/source/test/intltest/tsputil.cpp
@@ -218,7 +218,7 @@ PUtilTest::maxMinTest(double a, double b, double exp, UBool max)
 // NaN is weird- comparisons with NaN _always_ return false, with the
 // exception of !=, which _always_ returns true
 void
-PUtilTest::testNaN(void)
+PUtilTest::testNaN()
 {
     logln("NaN tests may show that the expected NaN!=NaN etc. is not true on some");
     logln("platforms; however, ICU does not rely on them because it defines");
@@ -238,7 +238,7 @@ PUtilTest::testNaN(void)
 //==============================
 
 void 
-PUtilTest::testPositiveInfinity(void)
+PUtilTest::testPositiveInfinity()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -276,7 +276,7 @@ PUtilTest::testPositiveInfinity(void)
 //==============================
 
 void           
-PUtilTest::testNegativeInfinity(void)
+PUtilTest::testNegativeInfinity()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -318,7 +318,7 @@ PUtilTest::testNegativeInfinity(void)
 // -0.0 <  0.0 == false
 // generating -0.0 must be done at runtime.  compiler apparently ignores sign?
 void           
-PUtilTest::testZero(void)
+PUtilTest::testZero()
 {
     // volatile is used to fake out the compiler optimizer.  We really want to divide by 0.
     volatile double pzero   = 0.0;
@@ -367,7 +367,7 @@ PUtilTest::testZero(void)
 //==============================
 
 void
-PUtilTest::testIsNaN(void)
+PUtilTest::testIsNaN()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -394,7 +394,7 @@ PUtilTest::testIsNaN(void)
 //==============================
 
 void
-PUtilTest::NaNGT(void)
+PUtilTest::NaNGT()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -421,7 +421,7 @@ PUtilTest::NaNGT(void)
 //==============================
 
 void 
-PUtilTest::NaNLT(void)
+PUtilTest::NaNLT()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -448,7 +448,7 @@ PUtilTest::NaNLT(void)
 //==============================
 
 void                   
-PUtilTest::NaNGTE(void)
+PUtilTest::NaNGTE()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -475,7 +475,7 @@ PUtilTest::NaNGTE(void)
 //==============================
 
 void                   
-PUtilTest::NaNLTE(void)
+PUtilTest::NaNLTE()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -502,7 +502,7 @@ PUtilTest::NaNLTE(void)
 //==============================
 
 void                   
-PUtilTest::NaNE(void)
+PUtilTest::NaNE()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
@@ -529,7 +529,7 @@ PUtilTest::NaNE(void)
 //==============================
 
 void 
-PUtilTest::NaNNE(void)
+PUtilTest::NaNNE()
 {
     double  pinf    = uprv_getInfinity();
     double  ninf    = -uprv_getInfinity();
diff --git a/icu4c/source/test/intltest/tsputil.h b/icu4c/source/test/intltest/tsputil.h
index c0fddcf0da9..c41d4fb0b86 100644
--- a/icu4c/source/test/intltest/tsputil.h
+++ b/icu4c/source/test/intltest/tsputil.h
@@ -20,27 +20,27 @@ class PUtilTest : public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
 
-//    void testIEEEremainder(void);
-    void testMaxMin(void);
+//    void testIEEEremainder();
+    void testMaxMin();
 
 private:
 //    void remainderTest(double x, double y, double exp);
     void maxMinTest(double a, double b, double exp, UBool max);
 
     // the actual tests; methods return the number of errors
-    void testNaN(void);
-    void testPositiveInfinity(void);
-    void testNegativeInfinity(void);
-    void testZero(void);
+    void testNaN();
+    void testPositiveInfinity();
+    void testNegativeInfinity();
+    void testZero();
 
     // subtests of testNaN
-    void testIsNaN(void);
-    void NaNGT(void);
-    void NaNLT(void);
-    void NaNGTE(void);
-    void NaNLTE(void);
-    void NaNE(void);
-    void NaNNE(void);
+    void testIsNaN();
+    void NaNGT();
+    void NaNLT();
+    void NaNGTE();
+    void NaNLTE();
+    void NaNE();
+    void NaNNE();
 
 };
  
diff --git a/icu4c/source/test/intltest/tstnorm.cpp b/icu4c/source/test/intltest/tstnorm.cpp
index d84585284f4..efd40a5bffe 100644
--- a/icu4c/source/test/intltest/tstnorm.cpp
+++ b/icu4c/source/test/intltest/tstnorm.cpp
@@ -271,7 +271,7 @@ void BasicNormalizerTest::TestHangulDecomp()
 /**
  * The Tibetan vowel sign AA, 0f71, was messed up prior to Unicode version 2.1.9.
  */
-void BasicNormalizerTest::TestTibetan(void) {
+void BasicNormalizerTest::TestTibetan() {
     UnicodeString decomp[1][3];
     decomp[0][0] = str("\\u0f77");
     decomp[0][1] = str("\\u0f77");
@@ -292,7 +292,7 @@ void BasicNormalizerTest::TestTibetan(void) {
  * Make sure characters in the CompositionExclusion.txt list do not get
  * composed to.
  */
-void BasicNormalizerTest::TestCompositionExclusion(void) {
+void BasicNormalizerTest::TestCompositionExclusion() {
     // This list is generated from CompositionExclusion.txt.
     // Update whenever the normalizer tables are updated.  Note
     // that we test all characters listed, even those that can be
@@ -344,7 +344,7 @@ void BasicNormalizerTest::TestCompositionExclusion(void) {
  * map to the same canonical class, which is not the case, in
  * reality.
  */
-void BasicNormalizerTest::TestZeroIndex(void) {
+void BasicNormalizerTest::TestZeroIndex() {
     const char* DATA[] = {
         // Expect col1 x COMPOSE_COMPAT => col2
         // Expect col2 x DECOMP => col3
@@ -392,7 +392,7 @@ void BasicNormalizerTest::TestZeroIndex(void) {
 /**
  * Run a few specific cases that are failing for Verisign.
  */
-void BasicNormalizerTest::TestVerisign(void) {
+void BasicNormalizerTest::TestVerisign() {
     /*
       > Their input:
       > 05B8 05B9 05B1 0591 05C3 05B0 05AC 059F
diff --git a/icu4c/source/test/intltest/tstnorm.h b/icu4c/source/test/intltest/tstnorm.h
index 13f2cc5b912..e5ce928e85a 100644
--- a/icu4c/source/test/intltest/tstnorm.h
+++ b/icu4c/source/test/intltest/tstnorm.h
@@ -27,21 +27,21 @@ public:
 
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = nullptr ) override;
 
-    void TestHangulCompose(void);
-    void TestHangulDecomp(void);
-    void TestPrevious(void);
-    void TestDecomp(void);
-    void TestCompatDecomp(void);
-    void TestCanonCompose(void);
-    void TestCompatCompose(void);
-    void TestTibetan(void);
-    void TestCompositionExclusion(void);
-    void TestZeroIndex(void);
-    void TestVerisign(void);
-    void TestPreviousNext(void);
-    void TestNormalizerAPI(void);
-    void TestConcatenate(void);
-    void TestCompare(void);
+    void TestHangulCompose();
+    void TestHangulDecomp();
+    void TestPrevious();
+    void TestDecomp();
+    void TestCompatDecomp();
+    void TestCanonCompose();
+    void TestCompatCompose();
+    void TestTibetan();
+    void TestCompositionExclusion();
+    void TestZeroIndex();
+    void TestVerisign();
+    void TestPreviousNext();
+    void TestNormalizerAPI();
+    void TestConcatenate();
+    void TestCompare();
     void FindFoldFCDExceptions();
     void TestSkippable();
     void TestCustomComp();
diff --git a/icu4c/source/test/intltest/tzbdtest.h b/icu4c/source/test/intltest/tzbdtest.h
index 549cdecf25e..c9046804790 100644
--- a/icu4c/source/test/intltest/tzbdtest.h
+++ b/icu4c/source/test/intltest/tzbdtest.h
@@ -59,7 +59,7 @@ public: // package
      * Test the behavior of SimpleTimeZone at the transition into and out of DST.
      * Use a binary search to find boundaries.
      */
-    virtual void TestBoundaries(void);
+    virtual void TestBoundaries();
  
     /**
      * internal subroutine used by TestNewRules
@@ -69,7 +69,7 @@ public: // package
     /**
      * Test the handling of the "new" rules; that is, rules other than nth Day of week.
      */
-    virtual void TestNewRules(void);
+    virtual void TestNewRules();
  
     /**
      * Find boundaries by stepping.
@@ -80,7 +80,7 @@ public: // package
      * Test the behavior of SimpleTimeZone at the transition into and out of DST.
      * Use a stepwise march to find boundaries.
      */ 
-    virtual void TestStepwise(void);
+    virtual void TestStepwise();
     void verifyMapping(Calendar& cal, int year, int month, int dom, int hour,
                     double epochHours) ;
 private:
diff --git a/icu4c/source/test/intltest/tzfmttst.cpp b/icu4c/source/test/intltest/tzfmttst.cpp
index fed6218f457..e2af299654c 100644
--- a/icu4c/source/test/intltest/tzfmttst.cpp
+++ b/icu4c/source/test/intltest/tzfmttst.cpp
@@ -92,7 +92,7 @@ TimeZoneFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &name
 }
 
 void
-TimeZoneFormatTest::TestTimeZoneRoundTrip(void) {
+TimeZoneFormatTest::TestTimeZoneRoundTrip() {
     UErrorCode status = U_ZERO_ERROR;
 
     SimpleTimeZone unknownZone(-31415, ETC_UNKNOWN);
@@ -449,7 +449,7 @@ struct LocaleData {
 static LocaleData *gLocaleData = nullptr;
 
 void
-TimeZoneFormatTest::TestTimeRoundTrip(void) {
+TimeZoneFormatTest::TestTimeRoundTrip() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer <Calendar> cal(Calendar::createInstance(TimeZone::createTimeZone((UnicodeString) "UTC"), status));
     if (U_FAILURE(status)) {
@@ -718,7 +718,7 @@ void TimeZoneFormatTest::RunTimeRoundTripTests(int32_t threadNumber) {
 }
 
 void
-TimeZoneFormatTest::TestAdoptDefaultThreadSafe(void) {
+TimeZoneFormatTest::TestAdoptDefaultThreadSafe() {
     ThreadPool<TimeZoneFormatTest> threads(this, threadCount, &TimeZoneFormatTest::RunAdoptDefaultThreadSafeTests);
     threads.start();   // Start all threads.
     threads.join();    // Wait for all threads to finish.
@@ -771,7 +771,7 @@ typedef struct {
 } ParseTestData;
 
 void
-TimeZoneFormatTest::TestParse(void) {
+TimeZoneFormatTest::TestParse() {
     const ParseTestData DATA[] = {
         //   text               inPos   locale      style
         //      parseOptions                        expected            outPos  timeType
@@ -898,7 +898,7 @@ TimeZoneFormatTest::TestParse(void) {
 }
 
 void
-TimeZoneFormatTest::TestISOFormat(void) {
+TimeZoneFormatTest::TestISOFormat() {
     const int32_t OFFSET[] = {
         0,          // 0
         999,        // 0.999s
@@ -1073,7 +1073,7 @@ typedef struct {
 } FormatTestData;
 
 void
-TimeZoneFormatTest::TestFormat(void) {
+TimeZoneFormatTest::TestFormat() {
     UDate dateJan = 1358208000000.0;    // 2013-01-15T00:00:00Z
     UDate dateJul = 1373846400000.0;    // 2013-07-15T00:00:00Z
 
@@ -1172,7 +1172,7 @@ TimeZoneFormatTest::TestFormat(void) {
 }
 
 void
-TimeZoneFormatTest::TestFormatTZDBNames(void) {
+TimeZoneFormatTest::TestFormatTZDBNames() {
     UDate dateJan = 1358208000000.0;    // 2013-01-15T00:00:00Z
     UDate dateJul = 1373846400000.0;    // 2013-07-15T00:00:00Z
 
@@ -1269,7 +1269,7 @@ TimeZoneFormatTest::TestFormatTZDBNames(void) {
 }
 
 void
-TimeZoneFormatTest::TestFormatCustomZone(void) {
+TimeZoneFormatTest::TestFormatCustomZone() {
     struct {
         const char* id;
         int32_t offset;
@@ -1306,7 +1306,7 @@ TimeZoneFormatTest::TestFormatCustomZone(void) {
 }
 
 void
-TimeZoneFormatTest::TestFormatTZDBNamesAllZoneCoverage(void) {
+TimeZoneFormatTest::TestFormatTZDBNamesAllZoneCoverage() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<StringEnumeration> tzids(TimeZone::createEnumeration(status));
     if (U_FAILURE(status)) {
@@ -1353,7 +1353,7 @@ TimeZoneFormatTest::TestFormatTZDBNamesAllZoneCoverage(void) {
 // using SimpleDateFormat initialized with different regional locales - US and Belize.
 // Belize did not observe DST from 1968 to 1973, 1975 to 1982, and 1985 and later.
 void
-TimeZoneFormatTest::TestCentralTime(void) {
+TimeZoneFormatTest::TestCentralTime() {
     UnicodeString pattern(u"y-MM-dd HH:mm:ss zzzz");
     UnicodeString testInputs[] = {
         // 1970-01-01 - Chicago:STD/Belize:STD
diff --git a/icu4c/source/test/intltest/tzfmttst.h b/icu4c/source/test/intltest/tzfmttst.h
index 9909841d8ce..8bbf5bc2b56 100644
--- a/icu4c/source/test/intltest/tzfmttst.h
+++ b/icu4c/source/test/intltest/tzfmttst.h
@@ -21,16 +21,16 @@ class TimeZoneFormatTest : public IntlTest {
     // IntlTest override
     void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par) override;
 
-    void TestTimeZoneRoundTrip(void);
-    void TestTimeRoundTrip(void);
-    void TestParse(void);
-    void TestISOFormat(void);
-    void TestFormat(void);
-    void TestFormatTZDBNames(void);
-    void TestFormatCustomZone(void);
-    void TestFormatTZDBNamesAllZoneCoverage(void);
-    void TestAdoptDefaultThreadSafe(void);
-    void TestCentralTime(void);
+    void TestTimeZoneRoundTrip();
+    void TestTimeRoundTrip();
+    void TestParse();
+    void TestISOFormat();
+    void TestFormat();
+    void TestFormatTZDBNames();
+    void TestFormatCustomZone();
+    void TestFormatTZDBNamesAllZoneCoverage();
+    void TestAdoptDefaultThreadSafe();
+    void TestCentralTime();
 
     void RunTimeRoundTripTests(int32_t threadNumber);
     void RunAdoptDefaultThreadSafeTests(int32_t threadNumber);
diff --git a/icu4c/source/test/intltest/tzoffloc.h b/icu4c/source/test/intltest/tzoffloc.h
index ded9fcf7c28..b68c94f65a7 100644
--- a/icu4c/source/test/intltest/tzoffloc.h
+++ b/icu4c/source/test/intltest/tzoffloc.h
@@ -20,7 +20,7 @@ class TimeZoneOffsetLocalTest : public IntlTest {
     // IntlTest override
     void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par) override;
 
-    void TestGetOffsetAroundTransition(void);
+    void TestGetOffsetAroundTransition();
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/icu4c/source/test/intltest/tzregts.h b/icu4c/source/test/intltest/tzregts.h
index 505e8c9d44b..27228b530f4 100644
--- a/icu4c/source/test/intltest/tzregts.h
+++ b/icu4c/source/test/intltest/tzregts.h
@@ -29,27 +29,27 @@ class TimeZoneRegressionTest: public IntlTest {
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
 public:
     
-    void Test4052967(void);
-    void Test4073209(void);
-    void Test4073215(void);
-    void Test4084933(void);
-    void Test4096952(void);
-    void Test4109314(void);
-    void Test4126678(void);
-    void Test4151406(void);
-    void Test4151429(void);
-    void Test4154537(void);
-    void Test4154542(void);
-    void Test4154650(void);
-    void Test4154525(void);
-    void Test4162593(void);
-    void Test4176686(void);
-    void TestJ186(void);
-    void TestJ449(void);
-    void TestJDK12API(void);
-    void Test4184229(void);
+    void Test4052967();
+    void Test4073209();
+    void Test4073215();
+    void Test4084933();
+    void Test4096952();
+    void Test4109314();
+    void Test4126678();
+    void Test4151406();
+    void Test4151429();
+    void Test4154537();
+    void Test4154542();
+    void Test4154650();
+    void Test4154525();
+    void Test4162593();
+    void Test4176686();
+    void TestJ186();
+    void TestJ449();
+    void TestJDK12API();
+    void Test4184229();
     UBool checkCalendar314(GregorianCalendar *testCal, TimeZone *testTZ);
-    void TestNegativeDaylightSaving(void);
+    void TestNegativeDaylightSaving();
 
 
 protected:
diff --git a/icu4c/source/test/intltest/tzrulets.cpp b/icu4c/source/test/intltest/tzrulets.cpp
index 504874fa70c..14ce88bcdca 100644
--- a/icu4c/source/test/intltest/tzrulets.cpp
+++ b/icu4c/source/test/intltest/tzrulets.cpp
@@ -150,7 +150,7 @@ void TimeZoneRuleTest::runIndexedTest( int32_t index, UBool exec, const char* &n
  * Compare SimpleTimeZone with equivalent RBTZ
  */
 void
-TimeZoneRuleTest::TestSimpleRuleBasedTimeZone(void) {
+TimeZoneRuleTest::TestSimpleRuleBasedTimeZone() {
     UErrorCode status = U_ZERO_ERROR;
     SimpleTimeZone stz(-1*HOUR, "TestSTZ",
         UCAL_SEPTEMBER, -30, -UCAL_SATURDAY, 1*HOUR, SimpleTimeZone::WALL_TIME,
@@ -424,7 +424,7 @@ TimeZoneRuleTest::TestSimpleRuleBasedTimeZone(void) {
  * equivalent rules in a certain time range
  */
 void
-TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone(void) {
+TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone() {
     UErrorCode status = U_ZERO_ERROR;
 
     // Compare to America/New_York with equivalent RBTZ
@@ -597,7 +597,7 @@ TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone(void) {
  * are actual time transitions.
  */
 void
-TimeZoneRuleTest::TestOlsonTransition(void) {
+TimeZoneRuleTest::TestOlsonTransition() {
 
     const int32_t TESTYEARS[][2] = {
         {1895, 1905}, // including int32 minimum second
@@ -632,7 +632,7 @@ TimeZoneRuleTest::TestOlsonTransition(void) {
  * transitions.
  */
 void
-TimeZoneRuleTest::TestRBTZTransition(void) {
+TimeZoneRuleTest::TestRBTZTransition() {
     const int32_t STARTYEARS[] = {
         1900,
         1960,
@@ -697,7 +697,7 @@ TimeZoneRuleTest::TestRBTZTransition(void) {
 }
 
 void
-TimeZoneRuleTest::TestHasEquivalentTransitions(void) {
+TimeZoneRuleTest::TestHasEquivalentTransitions() {
     // America/New_York and America/Indiana/Indianapolis are equivalent
     // since 2006
     UErrorCode status = U_ZERO_ERROR;
@@ -774,7 +774,7 @@ TimeZoneRuleTest::TestHasEquivalentTransitions(void) {
  * VTimeZone from the VTIMEZONE data, then compare transitions
  */
 void
-TimeZoneRuleTest::TestVTimeZoneRoundTrip(void) {
+TimeZoneRuleTest::TestVTimeZoneRoundTrip() {
     UDate startTime = getUTCMillis(1850, UCAL_JANUARY, 1);
     UDate endTime = getUTCMillis(2050, UCAL_JANUARY, 1);
 
@@ -869,7 +869,7 @@ TimeZoneRuleTest::TestVTimeZoneRoundTrip(void) {
  * create a new VTimeZone from the VTIMEZONE data, then compare transitions
  */
 void
-TimeZoneRuleTest::TestVTimeZoneRoundTripPartial(void) {
+TimeZoneRuleTest::TestVTimeZoneRoundTripPartial() {
     const int32_t STARTYEARS[] = {
         1900,
         1950,
@@ -962,7 +962,7 @@ TimeZoneRuleTest::TestVTimeZoneRoundTripPartial(void) {
  * and DST savings are same in these two time zones.
  */
 void
-TimeZoneRuleTest::TestVTimeZoneSimpleWrite(void) {
+TimeZoneRuleTest::TestVTimeZoneSimpleWrite() {
     const int32_t TESTDATES[][3] = {
         {2006,  UCAL_JANUARY,   1},
         {2006,  UCAL_MARCH,     15},
@@ -1032,7 +1032,7 @@ TimeZoneRuleTest::TestVTimeZoneSimpleWrite(void) {
  * LAST-MODIFIED, create a new VTimeZone from the VTIMEZONE data to see if the headers are preserved.
  */
 void
-TimeZoneRuleTest::TestVTimeZoneHeaderProps(void) {
+TimeZoneRuleTest::TestVTimeZoneHeaderProps() {
     const UnicodeString TESTURL1("http://source.icu-project.org");
     const UnicodeString TESTURL2("http://www.ibm.com");
 
@@ -1103,7 +1103,7 @@ TimeZoneRuleTest::TestVTimeZoneHeaderProps(void) {
  * the expected format.
  */
 void
-TimeZoneRuleTest::TestGetSimpleRules(void) {
+TimeZoneRuleTest::TestGetSimpleRules() {
     UDate testTimes[] = {
         getUTCMillis(1970, UCAL_JANUARY, 1),
         getUTCMillis(2000, UCAL_MARCH, 31),
@@ -1199,7 +1199,7 @@ TimeZoneRuleTest::TestGetSimpleRules(void) {
  * API coverage tests for TimeZoneRule 
  */
 void
-TimeZoneRuleTest::TestTimeZoneRuleCoverage(void) {
+TimeZoneRuleTest::TestTimeZoneRuleCoverage() {
     UDate time1 = getUTCMillis(2005, UCAL_JULY, 4);
     UDate time2 = getUTCMillis(2015, UCAL_JULY, 4);
     UDate time3 = getUTCMillis(1950, UCAL_JULY, 4);
@@ -1510,7 +1510,7 @@ TimeZoneRuleTest::TestTimeZoneRuleCoverage(void) {
  * API coverage test for BasicTimeZone APIs in SimpleTimeZone
  */
 void
-TimeZoneRuleTest::TestSimpleTimeZoneCoverage(void) {
+TimeZoneRuleTest::TestSimpleTimeZoneCoverage() {
     UDate time1 = getUTCMillis(1990, UCAL_JUNE, 1);
     UDate time2 = getUTCMillis(2000, UCAL_JUNE, 1);
 
@@ -1614,7 +1614,7 @@ TimeZoneRuleTest::TestSimpleTimeZoneCoverage(void) {
  * API coverage test for VTimeZone
  */
 void
-TimeZoneRuleTest::TestVTimeZoneCoverage(void) {
+TimeZoneRuleTest::TestVTimeZoneCoverage() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString TZID("Europe/Moscow");
 
@@ -1822,7 +1822,7 @@ end_basic_tz_test:
 
 
 void
-TimeZoneRuleTest::TestVTimeZoneParse(void) {
+TimeZoneRuleTest::TestVTimeZoneParse() {
     UErrorCode status = U_ZERO_ERROR;
 
     // Trying to create VTimeZone from empty data
@@ -1942,7 +1942,7 @@ TimeZoneRuleTest::TestVTimeZoneParse(void) {
 }
 
 void
-TimeZoneRuleTest::TestT6216(void) {
+TimeZoneRuleTest::TestT6216() {
     // Test case in #6216
     static const char16_t tokyoTZ[] = {
         /* "BEGIN:VCALENDAR\r\n" */
@@ -2148,7 +2148,7 @@ TimeZoneRuleTest::TestT6216(void) {
 }
 
 void
-TimeZoneRuleTest::TestT6669(void) {
+TimeZoneRuleTest::TestT6669() {
     UErrorCode status = U_ZERO_ERROR;
     SimpleTimeZone stz(0, "CustomID", UCAL_JANUARY, 1, UCAL_SUNDAY, 0, UCAL_JULY, 1, UCAL_SUNDAY, 0, status);
     if (U_FAILURE(status)) {
@@ -2179,7 +2179,7 @@ TimeZoneRuleTest::TestT6669(void) {
 }
 
 void
-TimeZoneRuleTest::TestVTimeZoneWrapper(void) {
+TimeZoneRuleTest::TestVTimeZoneWrapper() {
 #if 0
     // local variables
     UBool b;
@@ -2617,7 +2617,7 @@ static UBool hasEquivalentTransitions(/*const*/ BasicTimeZone& tz1, /*const*/Bas
 // Test case for ticket#8943
 // RuleBasedTimeZone#getOffsets throws NPE
 void
-TimeZoneRuleTest::TestT8943(void) {
+TimeZoneRuleTest::TestT8943() {
     UErrorCode status = U_ZERO_ERROR;
     UnicodeString id("Ekaterinburg Time");
     UnicodeString stdName("Ekaterinburg Standard Time");
diff --git a/icu4c/source/test/intltest/tzrulets.h b/icu4c/source/test/intltest/tzrulets.h
index 9c394df74b5..183f4e008fe 100644
--- a/icu4c/source/test/intltest/tzrulets.h
+++ b/icu4c/source/test/intltest/tzrulets.h
@@ -22,24 +22,24 @@ class TimeZoneRuleTest : public CalendarTimeZoneTest {
     // IntlTest override
     void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par) override;
 public:
-    void TestSimpleRuleBasedTimeZone(void);
-    void TestHistoricalRuleBasedTimeZone(void);
-    void TestOlsonTransition(void);
-    void TestRBTZTransition(void);
-    void TestHasEquivalentTransitions(void);
-    void TestVTimeZoneRoundTrip(void);
-    void TestVTimeZoneRoundTripPartial(void);
-    void TestVTimeZoneSimpleWrite(void);
-    void TestVTimeZoneHeaderProps(void);
-    void TestGetSimpleRules(void);
-    void TestTimeZoneRuleCoverage(void);
-    void TestSimpleTimeZoneCoverage(void);
-    void TestVTimeZoneCoverage(void);
-    void TestVTimeZoneParse(void);
-    void TestT6216(void);
-    void TestT6669(void);
-    void TestVTimeZoneWrapper(void);
-    void TestT8943(void);
+    void TestSimpleRuleBasedTimeZone();
+    void TestHistoricalRuleBasedTimeZone();
+    void TestOlsonTransition();
+    void TestRBTZTransition();
+    void TestHasEquivalentTransitions();
+    void TestVTimeZoneRoundTrip();
+    void TestVTimeZoneRoundTripPartial();
+    void TestVTimeZoneSimpleWrite();
+    void TestVTimeZoneHeaderProps();
+    void TestGetSimpleRules();
+    void TestTimeZoneRuleCoverage();
+    void TestSimpleTimeZoneCoverage();
+    void TestVTimeZoneCoverage();
+    void TestVTimeZoneParse();
+    void TestT6216();
+    void TestT6669();
+    void TestVTimeZoneWrapper();
+    void TestT8943();
 
 private:
     void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end);
diff --git a/icu4c/source/test/intltest/tztest.cpp b/icu4c/source/test/intltest/tztest.cpp
index 425f8d6daa3..e6e874c8239 100644
--- a/icu4c/source/test/intltest/tztest.cpp
+++ b/icu4c/source/test/intltest/tztest.cpp
@@ -2527,7 +2527,7 @@ void TimeZoneTest::TestGetGMT() {
     assertFalse("getGMT() uses DST", gmt->useDaylightTime());
 }
 
-void TimeZoneTest::TestGetWindowsID(void) {
+void TimeZoneTest::TestGetWindowsID() {
     static const struct {
         const char *id;
         const char *winid;
@@ -2556,7 +2556,7 @@ void TimeZoneTest::TestGetWindowsID(void) {
     }
 }
 
-void TimeZoneTest::TestGetIDForWindowsID(void) {
+void TimeZoneTest::TestGetIDForWindowsID() {
     static const struct {
         const char *winid;
         const char *region;
@@ -2585,7 +2585,7 @@ void TimeZoneTest::TestGetIDForWindowsID(void) {
     }
 }
 
-void TimeZoneTest::TestCasablancaNameAndOffset22041(void) {
+void TimeZoneTest::TestCasablancaNameAndOffset22041() {
     std::unique_ptr<TimeZone> zone(TimeZone::createTimeZone("Africa/Casablanca"));
     UnicodeString standardName, summerName;
     zone->getDisplayName(false, TimeZone::LONG, Locale::getEnglish(), standardName);
@@ -2601,7 +2601,7 @@ void TimeZoneTest::TestCasablancaNameAndOffset22041(void) {
                  zone->getRawOffset(), raw);
 }
 
-void TimeZoneTest::TestRawOffsetAndOffsetConsistency22041(void) {
+void TimeZoneTest::TestRawOffsetAndOffsetConsistency22041() {
     UErrorCode status = U_ZERO_ERROR;
     LocalPointer<StringEnumeration> s(TimeZone::createEnumeration(status));
     if (U_FAILURE(status)) {
diff --git a/icu4c/source/test/intltest/tztest.h b/icu4c/source/test/intltest/tztest.h
index 893aad65588..6dcdbd3f61e 100644
--- a/icu4c/source/test/intltest/tztest.h
+++ b/icu4c/source/test/intltest/tztest.h
@@ -29,26 +29,26 @@ public:
     /**
      * Test the offset of the PRT timezone.
      */
-    virtual void TestPRTOffset(void);
+    virtual void TestPRTOffset();
     /**
      * Regress a specific bug with a sequence of API calls.
      */
-    virtual void TestVariousAPI518(void);
+    virtual void TestVariousAPI518();
     /**
      * Test the call which retrieves the available IDs.
      */
-    virtual void TestGetAvailableIDs913(void);
+    virtual void TestGetAvailableIDs913();
 
-    virtual void TestGetAvailableIDsNew(void);
+    virtual void TestGetAvailableIDsNew();
 
     /**
      * Generic API testing for API coverage.
      */
-    virtual void TestGenericAPI(void);
+    virtual void TestGenericAPI();
     /**
      * Test the setStartRule/setEndRule API calls.
      */
-    virtual void TestRuleAPI(void);
+    virtual void TestRuleAPI();
  
     void findTransition(const TimeZone& tz,
                         UDate min, UDate max);
@@ -64,47 +64,47 @@ public:
     /**
      *  Test short zone IDs for compliance
      */ 
-    virtual void TestShortZoneIDs(void);
+    virtual void TestShortZoneIDs();
 
 
     /**
      *  Test parsing custom zones
      */ 
-    virtual void TestCustomParse(void);
+    virtual void TestCustomParse();
     
     /**
      *  Test new getDisplayName() API
      */ 
-    virtual void TestDisplayName(void);
+    virtual void TestDisplayName();
 
-    void TestDSTSavings(void);
-    void TestAlternateRules(void);
+    void TestDSTSavings();
+    void TestAlternateRules();
 
-    void TestCountries(void);
+    void TestCountries();
 
-    void TestHistorical(void);
+    void TestHistorical();
 
-    void TestEquivalentIDs(void);
+    void TestEquivalentIDs();
 
-    void TestAliasedNames(void);
+    void TestAliasedNames();
     
-    void TestFractionalDST(void);
+    void TestFractionalDST();
 
-    void TestFebruary(void);
+    void TestFebruary();
 
     void TestCanonicalIDAPI();
-    void TestCanonicalID(void);
+    void TestCanonicalID();
 
     virtual void TestDisplayNamesMeta();
 
-    void TestGetRegion(void);
+    void TestGetRegion();
     void TestGetUnknown();
     void TestGetGMT();
 
-    void TestGetWindowsID(void);
-    void TestGetIDForWindowsID(void);
-    void TestCasablancaNameAndOffset22041(void);
-    void TestRawOffsetAndOffsetConsistency22041(void);
+    void TestGetWindowsID();
+    void TestGetIDForWindowsID();
+    void TestCasablancaNameAndOffset22041();
+    void TestRawOffsetAndOffsetConsistency22041();
 
     static const UDate INTERVAL;
 
diff --git a/icu4c/source/test/intltest/ucdtest.cpp b/icu4c/source/test/intltest/ucdtest.cpp
index c28541e2a66..64b87ed9d15 100644
--- a/icu4c/source/test/intltest/ucdtest.cpp
+++ b/icu4c/source/test/intltest/ucdtest.cpp
@@ -776,7 +776,7 @@ void UnicodeTest::TestDefaultScriptExtensions() {
     assertEquals("U+3012 num scx[0]", USCRIPT_COMMON, scx[0]);
 }
 
-void UnicodeTest::TestInvalidCodePointFolding(void) {
+void UnicodeTest::TestInvalidCodePointFolding() {
     // Test behavior when an invalid code point is passed to u_foldCase
     static const UChar32 invalidCodePoints[] = {
             0xD800, // lead surrogate
diff --git a/icu4c/source/test/intltest/usettest.cpp b/icu4c/source/test/intltest/usettest.cpp
index 2ee67e93a4a..b7bf21e436c 100644
--- a/icu4c/source/test/intltest/usettest.cpp
+++ b/icu4c/source/test/intltest/usettest.cpp
@@ -270,7 +270,7 @@ UBool UnicodeSetTest::checkPat(const UnicodeString& source,
 }
 
 void
-UnicodeSetTest::TestPatterns(void) {
+UnicodeSetTest::TestPatterns() {
     UnicodeSet set;
     expectPattern(set, UnicodeString("[[a-m]&[d-z]&[k-y]]", ""),  "km");
     expectPattern(set, UnicodeString("[[a-z]-[m-y]-[d-r]]", ""),  "aczz");
@@ -287,7 +287,7 @@ UnicodeSetTest::TestPatterns(void) {
 }
 
 void
-UnicodeSetTest::TestCategories(void) {
+UnicodeSetTest::TestCategories() {
     UErrorCode status = U_ZERO_ERROR;
     const char* pat = " [:Lu:] "; // Whitespace ok outside [:..:]
     UnicodeSet set(pat, status);
@@ -325,7 +325,7 @@ UnicodeSetTest::TestCategories(void) {
     }
 }
 void
-UnicodeSetTest::TestCloneEqualHash(void) {
+UnicodeSetTest::TestCloneEqualHash() {
     UErrorCode status = U_ZERO_ERROR;
     // set1 and set2 used to be built with the obsolete constructor taking
     // UCharCategory values; replaced with pattern constructors
@@ -396,7 +396,7 @@ UnicodeSetTest::TestCloneEqualHash(void) {
 
 }
 void
-UnicodeSetTest::TestAddRemove(void) {
+UnicodeSetTest::TestAddRemove() {
     UnicodeSet set; // Construct empty set
     doAssert(set.isEmpty() == true, "set should be empty");
     doAssert(set.size() == 0, "size should be 0");
@@ -644,7 +644,7 @@ void UnicodeSetTest::TestAPI() {
     //UnicodeSet::retain(long)
     //UnicodeSet::retainAll(class UnicodeString const &)
     //UnicodeSet::serialize(unsigned short *,long,enum UErrorCode &)
-    //UnicodeSetIterator::getString(void)
+    //UnicodeSetIterator::getString()
     set.clear();
     set.complement("ab");
     exp.applyPattern("[{ab}]", status);
diff --git a/icu4c/source/test/intltest/usettest.h b/icu4c/source/test/intltest/usettest.h
index 3cb5dc14e8a..138ca3ee6fe 100644
--- a/icu4c/source/test/intltest/usettest.h
+++ b/icu4c/source/test/intltest/usettest.h
@@ -44,44 +44,44 @@ private:
      */
     void TestToPattern();
     
-    void TestPatterns(void);
-    void TestCategories(void);
-    void TestAddRemove(void);
-    void TestCloneEqualHash(void);
+    void TestPatterns();
+    void TestCategories();
+    void TestAddRemove();
+    void TestCloneEqualHash();
 
     /**
      * Make sure minimal representation is maintained.
      */
-    void TestMinimalRep(void);
+    void TestMinimalRep();
 
-    void TestAPI(void);
+    void TestAPI();
 
-    void TestIteration(void);
+    void TestIteration();
 
-    void TestStrings(void);
+    void TestStrings();
 
-    void TestScriptSet(void);
+    void TestScriptSet();
 
     /**
      * Test the [:Latin:] syntax.
      */
-    void TestPropertySet(void);
+    void TestPropertySet();
 
-    void TestClone(void);
+    void TestClone();
 
-    void TestIndexOf(void);
+    void TestIndexOf();
 
-    void TestExhaustive(void);
+    void TestExhaustive();
 
-    void TestCloseOver(void);
+    void TestCloseOver();
     void TestCloseOverSimpleCaseFolding();
     void TestCloseOverLargeSets();
 
-    void TestEscapePattern(void);
+    void TestEscapePattern();
 
-    void TestInvalidCodePoint(void);
+    void TestInvalidCodePoint();
 
-    void TestSymbolTable(void);
+    void TestSymbolTable();
 
     void TestSurrogate();
 
diff --git a/icu4c/source/test/intltest/ustrtest.cpp b/icu4c/source/test/intltest/ustrtest.cpp
index b1489f86cc8..26c51b9c23a 100644
--- a/icu4c/source/test/intltest/ustrtest.cpp
+++ b/icu4c/source/test/intltest/ustrtest.cpp
@@ -1323,7 +1323,7 @@ UnicodeStringTest::TestStackAllocation()
 /**
  * Test the unescape() function.
  */
-void UnicodeStringTest::TestUnescape(void) {
+void UnicodeStringTest::TestUnescape() {
     UnicodeString IN("abc\\u4567 \\n\\r \\U00101234xyz\\x1\\x{5289}\\x1b", -1, US_INV);
     UnicodeString OUT("abc");
     OUT.append((char16_t)0x4567);
@@ -1372,7 +1372,7 @@ UnicodeStringTest::_testUnicodeStringHasMoreChar32Than(const UnicodeString &s, i
 }
 
 void
-UnicodeStringTest::TestCountChar32(void) {
+UnicodeStringTest::TestCountChar32() {
     {
         UnicodeString s=UNICODE_STRING("\\U0002f999\\U0001d15f\\u00c4\\u1ed0", 32).unescape();
 
diff --git a/icu4c/source/test/intltest/ustrtest.h b/icu4c/source/test/intltest/ustrtest.h
index f438c910a58..088b71399d1 100644
--- a/icu4c/source/test/intltest/ustrtest.h
+++ b/icu4c/source/test/intltest/ustrtest.h
@@ -32,52 +32,52 @@ public:
     /**
      * Test some basic methods (insert, remove, replace, ...)
      **/
-    void TestBasicManipulation(void);
+    void TestBasicManipulation();
     /**
      * Test the methods for comparison
      **/
-    void TestCompare(void);
+    void TestCompare();
     /**
      * Test the methods for extracting
      **/
-    void TestExtract(void);
+    void TestExtract();
     /**
      * More extensively test methods for removing and replacing
      **/
-    void TestRemoveReplace(void);
+    void TestRemoveReplace();
     /**
      * Test language specific case conversions
      **/
-    void TestSearching(void);
+    void TestSearching();
     /**
      * Test methods for padding, trimmimg and truncating
      **/
-    void TestSpacePadding(void);
+    void TestSpacePadding();
     /**
      * Test methods startsWith and endsWith
      **/
-    void TestPrefixAndSuffix(void);
+    void TestPrefixAndSuffix();
     void TestStartsWithAndEndsWithNulTerminated();
     /**
      * Test method findAndReplace
      **/
-    void TestFindAndReplace(void);
+    void TestFindAndReplace();
     /**
      * Test method reverse
      **/
-    void TestReverse(void);
+    void TestReverse();
     /**
      * Test a few miscellaneous methods (isBogus, hashCode,...)
      **/
-    void TestMiscellaneous(void);
+    void TestMiscellaneous();
     /**
      * Test the functionality of allocating UnicodeStrings on the stack
      **/
-    void TestStackAllocation(void);
+    void TestStackAllocation();
     /**
      * Test the unescape() function.
      */
-    void TestUnescape(void);
+    void TestUnescape();
 
     void _testUnicodeStringHasMoreChar32Than(const UnicodeString &s, int32_t start, int32_t length, int32_t number);
     void TestCountChar32();
diff --git a/icu4c/source/test/intltest/winnmtst.cpp b/icu4c/source/test/intltest/winnmtst.cpp
index 638cdef6362..5524fcfa57c 100644
--- a/icu4c/source/test/intltest/winnmtst.cpp
+++ b/icu4c/source/test/intltest/winnmtst.cpp
@@ -62,7 +62,7 @@ static UBool initialized = false;
 /**
  * Return a random int64_t where U_INT64_MIN <= ran <= U_INT64_MAX.
  */
-static uint64_t randomInt64(void)
+static uint64_t randomInt64()
 {
     int64_t ran = 0;
     int32_t i;
@@ -83,7 +83,7 @@ static uint64_t randomInt64(void)
 /**
  * Return a random double where U_DOUBLE_MIN <= ran <= U_DOUBLE_MAX.
  */
-static double randomDouble(void)
+static double randomDouble()
 {
     double ran = 0;
 
@@ -116,7 +116,7 @@ static double randomDouble(void)
 /**
  * Return a random int32_t where U_INT32_MIN <= ran <= U_INT32_MAX.
  */
-static uint32_t randomInt32(void)
+static uint32_t randomInt32()
 {
     int32_t ran = 0;
     int32_t i;
diff --git a/icu4c/source/test/iotest/iotest.cpp b/icu4c/source/test/iotest/iotest.cpp
index 9867018d8fa..1495dd0039d 100644
--- a/icu4c/source/test/iotest/iotest.cpp
+++ b/icu4c/source/test/iotest/iotest.cpp
@@ -63,7 +63,7 @@ public:
         log_data_err(buffer);
     }
 
-    static const char * pathToDataDirectory(void)
+    static const char * pathToDataDirectory()
     {
 
         if(fgDataDir != nullptr) {
@@ -194,7 +194,7 @@ uto64(const char16_t  *buffer)
 #endif
 
 U_CDECL_BEGIN
-static void U_CALLCONV DataDrivenPrintf(void)
+static void U_CALLCONV DataDrivenPrintf()
 {
 #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_FILE_IO
     UErrorCode errorCode;
@@ -360,7 +360,7 @@ static void U_CALLCONV DataDrivenPrintf(void)
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV ScanfMultipleIntegers(void)
+static void U_CALLCONV ScanfMultipleIntegers()
 {
 #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_FILE_IO
     UnicodeString input = UNICODE_STRING("[1.2.3]", 7);
@@ -397,7 +397,7 @@ static void U_CALLCONV ScanfMultipleIntegers(void)
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV DataDrivenScanf(void)
+static void U_CALLCONV DataDrivenScanf()
 {
 #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_FILE_IO
     UErrorCode errorCode;
@@ -599,7 +599,7 @@ static void U_CALLCONV DataDrivenScanf(void)
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV DataDrivenPrintfPrecision(void)
+static void U_CALLCONV DataDrivenPrintfPrecision()
 {
 #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_FILE_IO
     UErrorCode errorCode;
diff --git a/icu4c/source/test/iotest/stream.cpp b/icu4c/source/test/iotest/stream.cpp
index f325b0545af..1b6303f1ee3 100644
--- a/icu4c/source/test/iotest/stream.cpp
+++ b/icu4c/source/test/iotest/stream.cpp
@@ -49,7 +49,7 @@ const char C_NEW_LINE[] = {'\n',0};
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV TestStream(void)
+static void U_CALLCONV TestStream()
 {
     const char16_t thisMu[] = { 0x74, 0x48, 0x69, 0x73, 0x3BC, 0};
     const char16_t mu[] = { 0x6D, 0x75, 0};
@@ -248,7 +248,7 @@ testString(
 }
 
 
-static void U_CALLCONV TestStreamEOF(void)
+static void U_CALLCONV TestStreamEOF()
 {
     UnicodeString dest;
     fstream fs(STANDARD_TEST_FILE, fstream::in | fstream::out | fstream::trunc);
diff --git a/icu4c/source/test/letest/letest.cpp b/icu4c/source/test/letest/letest.cpp
index 8144ec79fdb..2bbd9ada66c 100644
--- a/icu4c/source/test/letest/letest.cpp
+++ b/icu4c/source/test/letest/letest.cpp
@@ -46,14 +46,14 @@ U_NAMESPACE_USE
 
 U_CDECL_BEGIN
 
-static void U_CALLCONV ScriptTest(void)
+static void U_CALLCONV ScriptTest()
 {
     if ((int)scriptCodeCount != (int)USCRIPT_CODE_LIMIT) {
         log_err("ScriptCodes::scriptCodeCount = %d, but UScriptCode::USCRIPT_CODE_LIMIT = %d\n", scriptCodeCount, USCRIPT_CODE_LIMIT);
     }
 }
 
-static void U_CALLCONV ParamTest(void)
+static void U_CALLCONV ParamTest()
 {
     LEErrorCode status = LE_NO_ERROR;
     SimpleFontInstance *font = new SimpleFontInstance(12, status);
@@ -216,7 +216,7 @@ bail:
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV FactoryTest(void)
+static void U_CALLCONV FactoryTest()
 {
     LEErrorCode status = LE_NO_ERROR;
     SimpleFontInstance *font = new SimpleFontInstance(12, status);
@@ -238,7 +238,7 @@ static void U_CALLCONV FactoryTest(void)
 U_CDECL_END
 
 U_CDECL_BEGIN
-static void U_CALLCONV AccessTest(void)
+static void U_CALLCONV AccessTest()
 {
     LEErrorCode status = LE_NO_ERROR;
     SimpleFontInstance *font = new SimpleFontInstance(12, status);
@@ -563,7 +563,7 @@ LEFontInstance *openFont(const char *fontName, const char *checksum, const char
 }
 
 U_CDECL_BEGIN
-static void U_CALLCONV DataDrivenTest(void)
+static void U_CALLCONV DataDrivenTest()
 {
 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
     UErrorCode status = U_ZERO_ERROR;
@@ -749,7 +749,7 @@ U_CDECL_BEGIN
  * we expect them to be. Really, it would be a good idea to make a whole test suite
  * for ParagraphLayout.
  */
-static void U_CALLCONV GlyphToCharTest(void)
+static void U_CALLCONV GlyphToCharTest()
 {
 #if !UCONFIG_NO_BREAK_ITERATION
     LEErrorCode status = LE_NO_ERROR;
diff --git a/icu4c/source/test/perf/convperf/convperf.h b/icu4c/source/test/perf/convperf/convperf.h
index 527dbaf3a3c..402288cdf6d 100644
--- a/icu4c/source/test/perf/convperf/convperf.h
+++ b/icu4c/source/test/perf/convperf/convperf.h
@@ -62,7 +62,7 @@ public:
         char16_t* myTarget = target;
         ucnv_toUnicode(conv, &myTarget, targetLimit, &mySrc, sourceLimit, nullptr, true, status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
     ~ICUToUnicodePerfFunction(){
@@ -108,7 +108,7 @@ public:
         char* myTarget = target;
         ucnv_fromUnicode(conv,&myTarget, targetLimit, &mySrc, sourceLimit, nullptr, true, status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
     ~ICUFromUnicodePerfFunction(){
@@ -141,7 +141,7 @@ public:
             ucnv_close(ucnv_open(convNames[idx], status));
         }
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return availableConverters;
     }
     ~ICUOpenAllConvertersFunction(){
@@ -196,7 +196,7 @@ public:
     virtual void call(UErrorCode* status){
         int winSize =MultiByteToWideChar(uiCodePage,CONVERSION_FLAGS,src,srcLen,dest,dstLen);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
@@ -251,7 +251,7 @@ public:
         BOOL* pUsedDefaultChar =(uiCodePage==CP_UTF8)?nullptr:&lpUsedDefaultChar;
         int winSize = WideCharToMultiByte(uiCodePage,CONVERSION_FLAGS,src,srcLen,dest,dstLen,nullptr, pUsedDefaultChar);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
@@ -320,7 +320,7 @@ public:
         HRESULT err= pConvToUni->DoConversionToUnicode(src,&srcLen,dst, &dstLen);
         getErr(err,*status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
@@ -377,7 +377,7 @@ public:
         HRESULT err= pConvFromUni->DoConversionFromUnicode(src,&srcLen,dst, &dstLen);
         getErr(err,*status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
@@ -429,7 +429,7 @@ public:
         HRESULT err=  pMulti->ConvertStringToUnicode(&dwMode,dwEnc,(char*)src,&srcLen,dst, &dstLen);
         getErr(err,*status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
@@ -485,7 +485,7 @@ public:
         HRESULT err= pMulti->ConvertStringFromUnicode(&dwMode,dwEnc,src,&srcLen,dst, &dstLen);
         getErr(err,*status);
     }
-    virtual long getOperationsPerIteration(void){
+    virtual long getOperationsPerIteration(){
         return srcLen;
     }
 };
diff --git a/icu4c/source/test/perf/howExpensiveIs/howExpensiveIs.cpp b/icu4c/source/test/perf/howExpensiveIs/howExpensiveIs.cpp
index 026e37e89d0..61178fa2b95 100644
--- a/icu4c/source/test/perf/howExpensiveIs/howExpensiveIs.cpp
+++ b/icu4c/source/test/perf/howExpensiveIs/howExpensiveIs.cpp
@@ -28,7 +28,7 @@ static void usage(const char *prog) {
 }
 #endif
 
-void runTests(void);
+void runTests();
 
 #ifndef ITERATIONS
 #define ITERATIONS 5
diff --git a/icu4c/source/test/perf/unisetperf/draft/unicont.h b/icu4c/source/test/perf/unisetperf/draft/unicont.h
index fd9a3831811..ba1373d249b 100644
--- a/icu4c/source/test/perf/unisetperf/draft/unicont.h
+++ b/icu4c/source/test/perf/unisetperf/draft/unicont.h
@@ -34,5 +34,5 @@ public:
 
     virtual int32_t spanNotUTF8(const char16_t *s, int32_t length);
 
-    virtual UClassID getDynamicClassID(void) const;
+    virtual UClassID getDynamicClassID() const;
 };
diff --git a/icu4c/source/test/perf/usetperf/usetperf.cpp b/icu4c/source/test/perf/usetperf/usetperf.cpp
index a834cfd3883..6bceab9e006 100644
--- a/icu4c/source/test/perf/usetperf/usetperf.cpp
+++ b/icu4c/source/test/perf/usetperf/usetperf.cpp
@@ -68,7 +68,7 @@ public:
     virtual void call(UErrorCode* pErrorCode){
         (this->*op)();
     }
-    void add (void){
+    void add(){
         us.clear();
         for (UChar32 cp=0; cp<0x110000; ++cp) {
             if (bs.get((int32_t) cp)) {
@@ -77,7 +77,7 @@ public:
         }
     }
 
-    void contains(void){
+    void contains(){
         int32_t temp = 0;
         us.clear();
         for (UChar32 cp=0; cp<0x110000; ++cp) {
@@ -87,7 +87,7 @@ public:
         }
     }
 
-    void iterator(void){
+    void iterator(){
         int32_t temp = 0;
         UnicodeSetIterator uit(us);
         while (uit.next()) {
diff --git a/icu4c/source/test/perf/ustrperf/stringperf.h b/icu4c/source/test/perf/ustrperf/stringperf.h
index eae8f9f4406..264bbf92a34 100644
--- a/icu4c/source/test/perf/ustrperf/stringperf.h
+++ b/icu4c/source/test/perf/ustrperf/stringperf.h
@@ -241,7 +241,7 @@ public:
     }
 
 private:
-    void prepareLinesForStd(void)
+    void prepareLinesForStd()
     {
         UErrorCode err=U_ZERO_ERROR;
 
@@ -272,7 +272,7 @@ private:
 
     }
 
-    void prepareBulkForStd(void)
+    void prepareBulkForStd()
     {
         UErrorCode err=U_ZERO_ERROR;
 
diff --git a/icu4c/source/tools/ctestfw/unicode/uperf.h b/icu4c/source/tools/ctestfw/unicode/uperf.h
index fe6e7961c3f..e578c466945 100644
--- a/icu4c/source/tools/ctestfw/unicode/uperf.h
+++ b/icu4c/source/tools/ctestfw/unicode/uperf.h
@@ -135,7 +135,7 @@ public:
     UBool run();
     UBool runTest( char* name = nullptr, char* par = nullptr ); // not to be overridden
         
-    virtual void usage( void ) ;
+    virtual void usage() ;
     
     virtual ~UPerfTest();
 
diff --git a/icu4c/source/tools/ctestfw/uperf.cpp b/icu4c/source/tools/ctestfw/uperf.cpp
index c4e90dd50d9..9e92b7714bd 100644
--- a/icu4c/source/tools/ctestfw/uperf.cpp
+++ b/icu4c/source/tools/ctestfw/uperf.cpp
@@ -475,7 +475,7 @@ UBool UPerfTest::runTestLoop( char* testname, char* par )
 /**
 * Print a usage message for this test class.
 */
-void UPerfTest::usage( void )
+void UPerfTest::usage()
 {
     puts(gUsageString);
     if (_addUsage != nullptr) {
diff --git a/icu4c/source/tools/genrb/reslist.cpp b/icu4c/source/tools/genrb/reslist.cpp
index 7185bb9a193..e1c2d25061c 100644
--- a/icu4c/source/tools/genrb/reslist.cpp
+++ b/icu4c/source/tools/genrb/reslist.cpp
@@ -126,7 +126,7 @@ void setIncludeCopyright(UBool val){
     gIncludeCopyright=val;
 }
 
-UBool getIncludeCopyright(void){
+UBool getIncludeCopyright(){
     return gIncludeCopyright;
 }
 
diff --git a/icu4c/source/tools/genrb/reslist.h b/icu4c/source/tools/genrb/reslist.h
index 23106c3b44f..17797bc36cb 100644
--- a/icu4c/source/tools/genrb/reslist.h
+++ b/icu4c/source/tools/genrb/reslist.h
@@ -139,7 +139,7 @@ void bundle_write_xml(struct SRBRoot *bundle, const char *outputDir,const char*
  * for use in non-error cases when no resource is to be added to the bundle.
  * (nullptr is used in error cases.)
  */
-struct SResource* res_none(void);
+struct SResource* res_none();
 
 class ArrayResource;
 class TableResource;
@@ -431,7 +431,7 @@ public:
 void res_close(struct SResource *res);
 
 void setIncludeCopyright(UBool val);
-UBool getIncludeCopyright(void);
+UBool getIncludeCopyright();
 
 void setFormatVersion(int32_t formatVersion);
 
diff --git a/icu4c/source/tools/toolutil/dbgutil.cpp b/icu4c/source/tools/toolutil/dbgutil.cpp
index 4f3a9808eb5..d42b267f730 100644
--- a/icu4c/source/tools/toolutil/dbgutil.cpp
+++ b/icu4c/source/tools/toolutil/dbgutil.cpp
@@ -34,7 +34,7 @@ static const UnicodeString&  _fieldString(UDebugEnumType type, int32_t field, Un
 }
 
 U_CDECL_BEGIN
-static void udbg_cleanup(void) {
+static void udbg_cleanup() {
     if(strs != nullptr) {
         for(int t=0;t<=UDBG_ENUM_COUNT;t++) {
             delete [] strs[t];
@@ -44,18 +44,18 @@ static void udbg_cleanup(void) {
     }
 }
 
-static UBool tu_cleanup(void)
+static UBool tu_cleanup()
 {
     udbg_cleanup();
     return true;
 }
 
-static void udbg_register_cleanup(void) {
+static void udbg_register_cleanup() {
    ucln_registerCleanup(UCLN_TOOLUTIL, tu_cleanup);
 }
 U_CDECL_END
 
-static void udbg_setup(void) {
+static void udbg_setup() {
     if(strs == nullptr) {
         udbg_register_cleanup();
         //fprintf(stderr,"Initializing string cache..\n");
diff --git a/icu4c/source/tools/toolutil/filestrm.cpp b/icu4c/source/tools/toolutil/filestrm.cpp
index 83572353fc7..9a2695197a6 100644
--- a/icu4c/source/tools/toolutil/filestrm.cpp
+++ b/icu4c/source/tools/toolutil/filestrm.cpp
@@ -203,20 +203,20 @@ T_FileStream_setError(FileStream* fileStream)
 */
 
 U_CAPI FileStream* U_EXPORT2
-T_FileStream_stdin(void)
+T_FileStream_stdin()
 {
     return (FileStream*)stdin;
 }
 
 U_CAPI FileStream* U_EXPORT2
-T_FileStream_stdout(void)
+T_FileStream_stdout()
 {
     return (FileStream*)stdout;
 }
 
 
 U_CAPI FileStream* U_EXPORT2
-T_FileStream_stderr(void)
+T_FileStream_stderr()
 {
     return (FileStream*)stderr;
 }
diff --git a/icu4c/source/tools/toolutil/pkg_genc.cpp b/icu4c/source/tools/toolutil/pkg_genc.cpp
index f41938b5365..c3e9e5ec9a9 100644
--- a/icu4c/source/tools/toolutil/pkg_genc.cpp
+++ b/icu4c/source/tools/toolutil/pkg_genc.cpp
@@ -261,7 +261,7 @@ checkAssemblyHeaderName(const char* optAssembly) {
 
 
 U_CAPI void U_EXPORT2
-printAssemblyHeadersToStdErr(void) {
+printAssemblyHeadersToStdErr() {
     int32_t idx;
     fprintf(stderr, "%s", assemblyHeader[0].name);
     for (idx = 1; idx < UPRV_LENGTHOF(assemblyHeader); idx++) {
diff --git a/icu4c/source/tools/toolutil/toolutil.h b/icu4c/source/tools/toolutil/toolutil.h
index 98b2155551e..b32a0b87628 100644
--- a/icu4c/source/tools/toolutil/toolutil.h
+++ b/icu4c/source/tools/toolutil/toolutil.h
@@ -99,7 +99,7 @@ findDirname(const char *path, char *buffer, int32_t bufLen, UErrorCode* status);
  * Return the current year in the Gregorian calendar. Used for copyright generation.
  */
 U_CAPI int32_t U_EXPORT2
-getCurrentYear(void);
+getCurrentYear();
 
 /*
  * Creates a directory with pathname.
diff --git a/icu4c/source/tools/toolutil/ucln_tu.cpp b/icu4c/source/tools/toolutil/ucln_tu.cpp
index 5354fe1753a..4727227ebfd 100644
--- a/icu4c/source/tools/toolutil/ucln_tu.cpp
+++ b/icu4c/source/tools/toolutil/ucln_tu.cpp
@@ -11,8 +11,8 @@
 #define UCLN_TYPE UCLN_TOOLUTIL
 #include "ucln_imp.h"
 
-int uprv_dummyFunction_TU(void);
-int uprv_dummyFunction_TU(void)
+int uprv_dummyFunction_TU();
+int uprv_dummyFunction_TU()
 {
   /* this is here to prevent the compiler from complaining about an empty file */
   return 0;
diff --git a/icu4c/source/tools/toolutil/udbgutil.cpp b/icu4c/source/tools/toolutil/udbgutil.cpp
index 989e7a4a974..3f4bf3718ef 100644
--- a/icu4c/source/tools/toolutil/udbgutil.cpp
+++ b/icu4c/source/tools/toolutil/udbgutil.cpp
@@ -352,7 +352,7 @@ int32_t udbg_enumByName(UDebugEnumType type, const char *value) {
 /**
  * Print the current platform
  */
-U_CAPI const char *udbg_getPlatform(void)
+U_CAPI const char *udbg_getPlatform()
 {
 #if U_PLATFORM_USES_ONLY_WIN32_API
     return "Windows";
diff --git a/tools/colprobe/colprobe.cpp b/tools/colprobe/colprobe.cpp
index 48b8fc3ba6d..2a7bcb8cfb9 100644
--- a/tools/colprobe/colprobe.cpp
+++ b/tools/colprobe/colprobe.cpp
@@ -1243,7 +1243,7 @@ constructAndAnalyze(Line **gLines, Line *lines, int32_t size, CompareFn comparer
 
 // Check whether upper case comes before lower case or vice-versa
 int32_t 
-checkCaseOrdering(void) {
+checkCaseOrdering() {
   char16_t stuff[][3] = {
     { 0x0061, separatorChar, 0x0061}, //"aa",
     { 0x0061, separatorChar, 0x0041 }, //"a\\u00E0",
@@ -1287,7 +1287,7 @@ checkCaseOrdering(void) {
 
 // Check whether the secondaries are in the straight or reversed order
 int32_t 
-checkSecondaryOrdering(void) {
+checkSecondaryOrdering() {
   char16_t stuff[][5] = {
     { 0x0061, separatorChar, 0x0061, separatorChar, 0x00E0 }, //"aa",
     { 0x0061, separatorChar, 0x00E0, separatorChar, 0x0061 }, //"a\\u00E0",
@@ -1729,4 +1729,4 @@ main(int argc,
   u_fclose(err);
 
   return 0;
-}
\ No newline at end of file
+}
diff --git a/tools/colprobe/colprobeNew.cpp b/tools/colprobe/colprobeNew.cpp
index d5360c904d8..7c6c243b2bd 100644
--- a/tools/colprobe/colprobeNew.cpp
+++ b/tools/colprobe/colprobeNew.cpp
@@ -438,7 +438,7 @@ void processArgs(int argc, char* argv[], UErrorCode &status)
 
 // Check whether upper case comes before lower case or vice-versa
 int32_t 
-checkCaseOrdering(void) {
+checkCaseOrdering() {
   char16_t stuff[][3] = {
     { 0x0061, separatorChar, 0x0061}, //"aa",
     { 0x0061, separatorChar, 0x0041 }, //"a\\u00E0",
diff --git a/tools/colprobe/uprinter.cpp b/tools/colprobe/uprinter.cpp
index 939ae6b3856..c2d67d72b19 100644
--- a/tools/colprobe/uprinter.cpp
+++ b/tools/colprobe/uprinter.cpp
@@ -108,11 +108,11 @@ void UPrinter::log(const char *fmt, ...)
 }
 
 void
-UPrinter::on(void) {
+UPrinter::on() {
   _on = true;
 }
 
 void
-UPrinter::off(void) {
+UPrinter::off() {
   _on = false;
 }
diff --git a/tools/colprobe/uprinter.h b/tools/colprobe/uprinter.h
index 7aee902ba74..9e8b96ca4fd 100644
--- a/tools/colprobe/uprinter.h
+++ b/tools/colprobe/uprinter.h
@@ -41,9 +41,9 @@ public:
   //void log(const char *string, UBool nl = false);
   void log(const Line *line, UBool nl = false);
   void log(const char *fmt, ...);
-  void off(void);
-  void on(void);
-  UBool isOn(void) {
+  void off();
+  void on();
+  UBool isOn() {
     return _on;
   };
 };
diff --git a/tools/multi/proj/provider/glue/cal_fe.cpp b/tools/multi/proj/provider/glue/cal_fe.cpp
index b44de1fb4e9..8e07d6b488b 100644
--- a/tools/multi/proj/provider/glue/cal_fe.cpp
+++ b/tools/multi/proj/provider/glue/cal_fe.cpp
@@ -55,7 +55,7 @@ virtual UBool inDaylightTime(UErrorCode& status) const ; \
     virtual int32_t defaultCenturyStartYear() const ;  \
     virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month, UBool useMonth) const ; \
     virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const ; \
-    virtual Calendar* clone(void) const; \
+    virtual Calendar* clone() const; \
   public: static int32_t countAvailable();                              \
 public: static int32_t appendAvailable(UnicodeString* strs, int32_t i, int32_t count); \
   };
@@ -116,7 +116,7 @@ int32_t GLUE_SYM ( Calendar ) :: handleComputeMonthStart(int32_t eyear, int32_t
 int32_t GLUE_SYM ( Calendar ) :: handleGetLimit(UCalendarDateFields field, ELimitType limitType) const {
   return 1;
 }
-Calendar* GLUE_SYM ( Calendar ) :: clone(void) const {
+Calendar* GLUE_SYM ( Calendar ) :: clone() const {
   return nullptr;
 }
 
diff --git a/tools/multi/proj/provider/glue/date_fe.cpp b/tools/multi/proj/provider/glue/date_fe.cpp
index d2bfd16b099..0c13942bcf6 100644
--- a/tools/multi/proj/provider/glue/date_fe.cpp
+++ b/tools/multi/proj/provider/glue/date_fe.cpp
@@ -48,7 +48,7 @@
     static void* getStaticClassID() ;                                   \
     virtual UnicodeString& format(  Calendar& cal, UnicodeString& appendTo, FieldPosition& pos) const; \
     virtual void parse( const UnicodeString& text, Calendar& cal, ParsePosition& pos) const; \
-    virtual Format* clone(void) const; \
+    virtual Format* clone() const; \
   public: static int32_t countAvailable();                              \
 public: static int32_t appendAvailable(UnicodeString* strs, int32_t i, int32_t count); \
   }; \
@@ -142,7 +142,7 @@ void  GLUE_SYM (DateFormat ) :: parse( const UnicodeString& text, Calendar& cal,
   return;
 }
 
-Format*  GLUE_SYM (DateFormat ) :: clone(void) const
+Format*  GLUE_SYM (DateFormat ) :: clone() const
 {
   return nullptr;
 }
diff --git a/tools/unicode/c/genprops/namespropsbuilder.cpp b/tools/unicode/c/genprops/namespropsbuilder.cpp
index 25e2e3f346f..83f1fe66b01 100644
--- a/tools/unicode/c/genprops/namespropsbuilder.cpp
+++ b/tools/unicode/c/genprops/namespropsbuilder.cpp
@@ -249,7 +249,7 @@ static void
 compress(UErrorCode &errorCode);
 
 static void
-compressLines(void);
+compressLines();
 
 static int16_t
 compressLine(uint8_t *s, int16_t length, int16_t *pGroupTop);