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
This commit is contained in:
Václav Slavík
2007-08-13 17:56:09 +00:00
parent 4fcbc84d65
commit 8105182945

View File

@@ -342,14 +342,16 @@ public:
// We have to implement the version without template arguments manually // We have to implement the version without template arguments manually
// because of the StringReturnType<> hack, although WX_DEFINE_VARARG_FUNC // 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 // 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: // the hack, even though there's no real template parameter. We can't move
struct FormatDummyArg {} ; // it to wxStrig, because it would shadow these versions of Format() then.
template<typename T> template<typename T>
inline static typename StringReturnType<T>::type inline static typename StringReturnType<T>::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, ...); // int Printf(const wxString& format, ...);