Руководство по стандартной библиотеке шаблонов и примеры
От: Calc Россия  
Дата: 02.05.04 10:33
Оценка:
Вот взялся за изучение STL по статьям на вашем сайте.
Компилятор MSVS.NET2003. Догадываетесь в чём дело?

Значит так:

#include <iostream.h> //ругается
#include <stl.h> //ругается

int main ()
{
  stack<list<int> > s;
  s.push (42);
  s.push (101);
  s.push (69);
  while (!s.empty ())
  {
    cout << s.top () << endl;
    s.pop ();
  }
  return 0;
}


Покопался в MSDN, сделал так:

#include <iostream>
#include <stack>

using namespace std ;

int main ()
{
  stack<list<int> > s;
  s.push (42); // ругается
  s.push (101); // ругается
  s.push (69); // ругается
  while (!s.empty ())
  {
    cout << s.top () << endl;
    s.pop ();
  }
  return 0;
}


покопался ещё раз в MSDN и сделал так:


#include <stack>
#include <iostream>

using namespace std ;

int main()
{
    stack<int> s;
    s.push (42);
    s.push (101);
    s.push (69);
    while (!s.empty ())
    {
        cout << s.top () << endl;
        s.pop ();
    }
    return 0;
}

Ура!!! Заработало!

В чем же дело?
Статья: template <class Container> class stack ...
MSDN: template <class Type, class Container=deque<Type>>class stack...
Заметили разницу?

Так это к чему я?
Не каждый начинающий программист сможет проделать столь обширный аналитический анализ
(за противоречие этому я в своё время получил минус)

Может стоит дополнить статью или хотя бы пояснить столь большое расхождение в STL.
А то получается не статья, а "обрезок", "обрывок", нерабочая вешь не представляющая интереса для начинающих
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.