станд.:: карта и-fno-implicit-templates

Я пытаюсь скомпилировать с 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 необходим. Почему?

Заранее спасибо, любая подсказка будет цениться.

5
задан zeehio 9 August 2010 в 13:12
поделиться