If someone wouldn't mind here...
I'm getting an ambiguous function call here due to two overloaded operators and would like to know if there's a way around it.

The ambiguous line is:
Code:
hFileDirs = FindFirstFile(pArgs->strFolder + _T("\\*.*"), &fDataDirs);
pArgs->strFolder is Strings::CStringEx

And the overloads in Strings::CStringEx are:
Code:
CTmplString operator + (const T* strData) const;
CTmplString operator + (const CTmplString& rSrc);
CStringEx is just a typedef for:
Code:
typedef CTmplString<TCHAR> CStringEx;
And the compile errors I get:
Code:
error C2666: 'Strings::CTmplString<T>::operator +' : 2 overloads have similar conversions
1>        with
1>        [
1>            T=wchar_t
1>        ]
1>        could be 'Strings::CTmplString<T> Strings::CTmplString<T>::operator +(const Strings::CTmplString<T> &)'
1>        with
1>        [
1>            T=wchar_t
1>        ]
1>        or       'Strings::CTmplString<T> Strings::CTmplString<T>::operator +(const T *) const'
1>        with
1>        [
1>            T=wchar_t
1>        ]
1>        while trying to match the argument list '(Strings::CStringEx, const wchar_t [5])'
1>        note: qualification adjustment (const/volatile) may be causing the ambiguity
Any idea what to do about this situation?
I'm looking for any ideas/advice.
Thanks.