From: Václav Slavík Date: Mon, 13 Aug 2007 17:56:09 +0000 (+0000) Subject: compilation fix for wxString::Format("no variadic arguments") and VC6 X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/81051829457fc8fd271d16601d74218f345f9e6b?ds=inline compilation fix for wxString::Format("no variadic arguments") and VC6 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/string.h b/include/wx/string.h index 7345c36d17..813dc956aa 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -342,14 +342,16 @@ public: // We have to implement the version without template arguments manually // because of the StringReturnType<> hack, although WX_DEFINE_VARARG_FUNC // normally does it itself. It has to be a template so that we can use - // the hack, even though there's no real template parameter: - struct FormatDummyArg {} ; - + // the hack, even though there's no real template parameter. We can't move + // it to wxStrig, because it would shadow these versions of Format() then. template inline static typename StringReturnType::type - Format(const wxFormatString& fmt, FormatDummyArg dummy = FormatDummyArg()) + Format(const T& fmt) { - return DoFormatWchar(fmt); + // NB: this doesn't compile if T is not (some form of) a string; + // this makes Format's prototype equivalent to + // Format(const wxFormatString& fmt) + return DoFormatWchar(wxFormatString(fmt)); } // int Printf(const wxString& format, ...);