From: Marco Costalba Date: Sun, 12 Apr 2009 00:09:03 +0000 (+0100) Subject: Fix a very nasty conversion bug in Option c'tor X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=e38ad4d42ba0b363581444feafd0f10b92e17f9a;ds=sidebyside Fix a very nasty conversion bug in Option c'tor Sometimes C++ can be really bad! In this case an hard coded c string selects Option c'tor with int argument instead of the std::string one becuase it is considered a better matching by the compiler. Fix the bug changing the argument type from std::string to const char* so to be a better match then the int one. Signed-off-by: Marco Costalba --- diff --git a/src/ucioption.cpp b/src/ucioption.cpp index c31a49e7..2eb7d1c6 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -64,7 +64,7 @@ namespace { size_t idx; Option(); - Option(const std::string& defaultValue, OptionType = STRING); + Option(const char* defaultValue, OptionType = STRING); Option(bool defaultValue, OptionType = CHECK); Option(int defaultValue, int minValue, int maxValue); @@ -342,7 +342,7 @@ namespace { Option::Option() {} // To allow insertion in a std::map - Option::Option(const std::string& def, OptionType t) + Option::Option(const char* def, OptionType t) : defaultValue(def), currentValue(def), type(t), idx(options.size()), minValue(0), maxValue(0) {} Option::Option(bool def, OptionType t)