ErrorNames is not implemented by vector<string> but *char[]
diff --git a/tinyxml2.h b/tinyxml2.h
index c254d15..6ef7493 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -39,8 +39,6 @@
 #   include <cstdlib>

 #   include <cstring>

 #   include <cstdarg>

-#   include <vector>

-#   include <string>

 #endif

 

 /*

@@ -512,14 +510,12 @@
 };

 #undef FF

 

-#if __cplusplus > 199711LL

 #define FF(X) #X,

-const std::vector<std::string> ErrorNames = {

+static const char *ErrorNames[] = {

     FOR_EACH(FF)

     "OUT_OF_RANGE"

 };

 #undef FF

-#endif

 #undef FOR_EACH

 

 

@@ -601,7 +597,7 @@
     static bool ToDouble( const char* str, double* value );

     

     // converts XMLError to strings

-    static std::string ToErrorName( const XMLError errorID );

+    static const char* ToErrorName( const XMLError errorID );

 };