Я пытаюсь скомпилировать с g ++ 4.4 и связать простую программу, которая использует STL. Я пытаюсь сделать это с помощью-fno-implicit-templates, таким образом, все шаблоны нужно инстанцировать явно.
Я не понимаю, почему этот код работает:
#include <map>
//template class std::map<char,char>;
template class std::_Rb_tree<char, std::pair <char const, char>,
std::_Select1st<std::pair<char const, char> >,
std::less<char>, std::allocator<std::pair<char const, char> > >;
int main() {
std::map <char,char> table;
return 0;
}
Я ожидал бы, что для этой программы нужна строка: template class std::map<char,char>;
, однако та строка не заставляет программу связаться. std::_Rb_tree line
необходим. Почему?
Заранее спасибо, любая подсказка будет цениться.