これは私の以前の質問でした: C++ 文字列と C スタイル文字列を受け入れるジェネリック クラス
ベンジャミン・リンドリーの答えは、私が探していたもののようでした。彼は、std::string と char const* だけに制限したいので、2 つのオーバーロードを使用する必要があると言いました。
char getSecondLetter(std::string const & str) { return str[1]; }
char getSecondLetter(char const * str) { return str[1]; }
しかし、2 つのオーバーロードを使用すると、これらのオーバーロード メソッドのパラメーターはデータ型であり、ジェネリックではありません。
char getSecondLetter(T const & str) { return str[1]; }
したがって、データ型は T または Str_T ではなく、std::string または char const* です。これらのオーバーロードされたメソッドをジェネリック クラスに使用すると、そのクラスはもはやジェネリックではないと思います。私は正しいですか、それとも間違っていますか? ...