テンプレート化したい関数があります。現時点では、 と の 2 つの異なるバージョンがstd::stringありstd::wstringます。
機能(簡素化)はこのようなものです
template <class T, class _Tc>
std::vector<T> TokenizeArgs(const T& in) {
const T tofind = T("\"' ");
.. do stuff ..
}
Tは または のいずれstd::stringかstd::wstringで_Tcあり、 または のいずれcharかwchar_tです。テンプレート バージョンで動作するように定義した定数文字列を取得する際に問題が発生しています。上記のコードは、配列を取るコンストラクターstd::stringがないため、機能しますが、機能しません。通常、これを修正するには、定数文字列を として宣言しますが、そうすると では機能しません。std::wstringstd::wstringchar*const T tofind = L"\"' "std::string
テンプレートの経験があまりないので、この問題を修正する方法がよくわかりません。