ErrorNames is not implemented by vector<string> but *char[]

This commit is contained in:
numatrumpet 2014-09-08 16:36:28 +09:00
parent 8f5d3f8e80
commit 003368429f
3 changed files with 4 additions and 14 deletions

View File

@ -476,13 +476,9 @@ bool XMLUtil::ToDouble( const char* str, double* value )
return false;
}
std::string XMLUtil::ToErrorName( const XMLError errorID )
const char* XMLUtil::ToErrorName( const XMLError errorID )
{
#if __cplusplus > 199711LL
return ErrorNames[errorID];
#else
return std::string("Use C++11 or higher to use this function");
#endif
}
char* XMLDocument::Identify( char* p, XMLNode** node )

View File

@ -39,8 +39,6 @@ distribution.
# include <cstdlib>
# include <cstring>
# include <cstdarg>
# include <vector>
# include <string>
#endif
/*
@ -512,14 +510,12 @@ enum XMLError {
};
#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 @@ public:
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 );
};

View File

@ -1222,9 +1222,7 @@ int main( int argc, const char ** argv )
XMLDocument doc;
XMLError error = doc.LoadFile( "resources/empty.xml" );
XMLTest( "Loading an empty file", XML_ERROR_EMPTY_DOCUMENT, error );
#if __cplusplus > 199711LL
XMLTest( "Loading an empty file and ErrorName as string", "XML_ERROR_EMPTY_DOCUMENT", XMLUtil::ToErrorName(error).c_str() );
#endif
XMLTest( "Loading an empty file and ErrorName as string", "XML_ERROR_EMPTY_DOCUMENT", XMLUtil::ToErrorName(error) );
}
{