Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > с++ вектор как аргумент функции


Автор: Beos 14.3.2011, 11:39
dropListWW - заполненный вектор (std::vector<sDrop>)
sDrop - структура вектора

Код

std::vector<sDrop>::iterator i;

for(i = dropListWW.begin(); i < dropListWW.end(); i++)
{
     ...
     int i_test = i->test;
     ...

     // тут надо вызвать функцию, передав ей в качестве аргумента - i, т.е. что то типо того: Ihandler(i);
}


вот как обозначить этот аргумен у функции (т.е. саму функцию)? :x

Автор: mes 14.3.2011, 11:43
Цитата(Beos @  14.3.2011,  10:39 Найти цитируемый пост)
передав ей в качестве аргумента - i,

а зачем ей i ? передавайте *i.. 

Автор: Beos 14.3.2011, 11:45
а как *i ? мой основной вопрос: как определить эту самую функцию... ?

Автор: triclosan 14.3.2011, 11:47
Цитата(Beos @  14.3.2011,  11:39 Найти цитируемый пост)
передав ей в качестве аргумента - i

итератор плохо передавать, лучше значение по ссылке


Код

void fn(sDrop&s){...}

...

fn(*i);

Автор: Beos 14.3.2011, 11:52
спасибо =) то что нужно =)

Автор: mes 14.3.2011, 11:54
Цитата(Beos @  14.3.2011,  10:45 Найти цитируемый пост)
 как определить эту самую функцию...

ну так итератор при разъыменовании на какой тип указывает ? тот и ставить smile


Автор: ValeryLaptev 14.3.2011, 19:18
Цитата(Beos @ 14.3.2011,  11:39)
dropListWW - заполненный вектор (std::vector<sDrop>)
sDrop - структура вектора

Код

std::vector<sDrop>::iterator i;

for(i = dropListWW.begin(); i < dropListWW.end(); i++)
{
     ...
     int i_test = i->test;
     ...

     // тут надо вызвать функцию, передав ей в качестве аргумента - i, т.е. что то типо того: Ihandler(i);
}


вот как обозначить этот аргумен у функции (т.е. саму функцию)? :x

Код

for(i = dropListWW.begin(); i < dropListWW.end(); i++)

В этом операторе вместо НЕРАВЕНСТВА поставьте так:
Код

for(i = dropListWW.begin(); i != dropListWW.end(); ++i)
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)