diff --git a/taglib/mpeg/id3v1/id3v1tag.cpp b/taglib/mpeg/id3v1/id3v1tag.cpp
index 5c3f85d1..39798745 100644
--- a/taglib/mpeg/id3v1/id3v1tag.cpp
+++ b/taglib/mpeg/id3v1/id3v1tag.cpp
@@ -36,6 +36,10 @@ namespace
 {
   class DefaultStringHandler : public TagLib::StringHandler
   {
+  public:
+    DefaultStringHandler() :
+      TagLib::StringHandler() {}
+
     virtual String parse(const ByteVector &data) const
     {
       return String(data, String::Latin1).stripWhiteSpace();
diff --git a/taglib/mpeg/id3v2/id3v2tag.cpp b/taglib/mpeg/id3v2/id3v2tag.cpp
index b7b183a4..651c8014 100644
--- a/taglib/mpeg/id3v2/id3v2tag.cpp
+++ b/taglib/mpeg/id3v2/id3v2tag.cpp
@@ -55,6 +55,10 @@ namespace
 {
   class DefaultStringHandler : public TagLib::StringHandler
   {
+  public:
+    DefaultStringHandler() :
+      TagLib::StringHandler() {}
+
     virtual String parse(const ByteVector &data) const
     {
       return String(data, String::Latin1);
diff --git a/taglib/riff/wav/infotag.cpp b/taglib/riff/wav/infotag.cpp
index b9431ab9..bb9b861d 100644
--- a/taglib/riff/wav/infotag.cpp
+++ b/taglib/riff/wav/infotag.cpp
@@ -36,6 +36,10 @@ namespace
 {
   class DefaultStringHandler : public TagLib::StringHandler
   {
+  public:
+    DefaultStringHandler() :
+      TagLib::StringHandler() {}
+
     virtual String parse(const ByteVector &data) const
     {
       return String(data, String::UTF8);