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