可能性の重複:G ++ 4.6を使用して
Where and why do I have to put the “template” and “typename” keywords?それはのbasic_string <> ::イテレータをテンプレートすることは可能ですか?
イムと私は使用char型に基づいて私のクラスをテンプレートしようとしましたが、私の変数は、文字だけでなく、の文字列のみをアレントそれらの文字。だから私はこのような何か試してみました:
template<typename T>
class Node
//...
//constructor
Node(std::basic_string<T> str, std::basic_string<T>::iterator it)
{
}
//usage
Node<char16_t> start;
を私は 取得 'のstd ::のbasic_string < _CharT、STD :: char_traits < _CharT>、のstd ::アロケータ< _Tp1>> ::イテレータは' タイプではありません私はそれがコンパイルchar16_tするコンストラクタ引数のリストの2番目のTを交換
。
これを、typename std :: basic_string :: iterator it'にします。 –
ildjarn