std::string str;
と
std::basic_string<char> str;
は等価だよな?typedefなんだし。
それなのに
std::string::iterator it;
がおkで
std::basic_string<char>::iterator it;
はコンパイルエラーになるのは、なんで?