template <class T>
class Foo
{
public:
T ToString() { /*konkatenacja składowych klasy + przekonwertowany czas na łańcuch*/ }
private:
std::string TpToString() { // użycie funkcji std::ctime()
return timeStr; // tp przekonwertowany na std::string
}
private:
std::chrono::system_clock::time_point tp;
T mem1;
T mem2;
};
Wiadomo, że kod dla obu ścieżek wykonania musi być poprawny, więc nie można w takcie wykonywania
programu skorzystać z ifologii, switch itp, aby wykonać jedną gałąź poprawnego kodu dla danego typu T
(raz ma to być std::string
, a raz std::wstring
).
Chciałbym, aby string zwrócony z metody TpToString
można było użyć w funkcji ToString
i zwrócić jako typ T
.
Czy jest jakiś sposób na rozwiązanie tego problemu?