проблема компиляции STL програмы
От: VIp3R  
Дата: 26.01.05 10:06
Оценка:
При комляции кода:
#include "readers.h"
#include <list.h>

int main()
{

    list <int> mylist;

    mylist.push_back(4);
    mylist.push_back(6);
    mylist.push_back(3);
    mylist.push_back(1);
    
    list<int>::iterator i;
    for(i=mylist.begin();i!=mylist.end();i++)
    cout<<*i;
}


Получаю ошыбки:
c:\program files\microsoft visual studio\vc98\include\list.h(37) : error C2146: syntax error : missing ';' before identifier 'Length'
c:\program files\microsoft visual studio\vc98\include\list.h(37) : error C2501: 'DWORD' : missing storage-class or type specifiers
....
c:\program files\microsoft visual studio\vc98\include\list.h(53) : error C2433: 'WINAPI' : 'inline' not permitted on data declarations
c:\program files\microsoft visual studio\vc98\include\list.h(53) : fatal error C1004: unexpected end of file found

В чом проблема? Компилятор Visual C++ 6.0
... << RSDN@Home 1.1.3 stable >>
Re: проблема компиляции STL програмы
От: korzhik Россия  
Дата: 26.01.05 10:11
Оценка:
Здравствуйте, VIp3R, Вы писали:

#include <list>
using namespace std;
Re[2]: проблема компиляции STL програмы
От: VIp3R  
Дата: 26.01.05 10:20
Оценка:
спасибо помогло.
... << RSDN@Home 1.1.3 stable >>
Re: проблема компиляции STL програмы
От: Аноним  
Дата: 26.01.05 10:57
Оценка:
VIR>
VIR>#include "readers.h"
VIR>#include <list.h>

VIR>int main()
VIR>{

VIR>    list <int> mylist;

VIR>    mylist.push_back(4);
VIR>    mylist.push_back(6);
VIR>    mylist.push_back(3);
VIR>    mylist.push_back(1);
    
VIR>    list<int>::iterator i;
VIR>    for(i=mylist.begin();i!=mylist.end();i++)
VIR>    cout<<*i;
VIR>}
VIR>

VIR>В чом проблема? Компилятор Visual C++ 6.0

Писать проще. И помнить про namespace (std в данном случае).
typedef std::list< int > somelist;
typedef somelist::iterator somelisti;

И пользоваться результатами typedef. А то у тебя текст типа ...<int>... сильно неудобен.
Re: проблема компиляции STL програмы
От: VIp3R  
Дата: 26.01.05 11:30
Оценка:
Я сохраняю в списке указатель. Как мне его достать от туда? Я делал так:
  char **d;
    list<char**>::iterator pi;
    for(pi=mylist.begin();pi!=mylist.end();pi++)
    {
        d=pi;
        cout<<*d[0]<<endl;
    }


но ничего не получилось.
... << RSDN@Home 1.1.3 stable >>
Re[2]: проблема компиляции STL програмы
От: CrystaX Россия https://crystax.me/
Дата: 26.01.05 11:46
Оценка:
Здравствуйте, VIp3R, Вы писали:

VIR>Я сохраняю в списке указатель. Как мне его достать от туда? Я делал так:

VIR>
VIR>  char **d;
VIR>    list<char**>::iterator pi;
VIR>    for(pi=mylist.begin();pi!=mylist.end();pi++)
VIR>    {
VIR>        d=*pi;
VIR>        cout<<*d[0]<<endl;
VIR>    }
VIR>


VIR>но ничего не получилось.
... << RSDN@Home 1.1.4 >>
Re[2]: проблема компиляции STL програмы
От: Кодёнок  
Дата: 26.01.05 12:32
Оценка:
VIR>Я сохраняю в списке указатель. Как мне его достать от туда? Я делал так:
VIR> cout<<*d[0]<<endl;
VIR>но ничего не получилось.

Сначала надо применить оператор * к итератору:

cout << (*pi)[0] << endl;

либо как уже написали, d = *pi
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.