![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: 0 Всего: 1 |
Зраствуйте. Хочу передать структуру как параметр у функцию. Не нашёл инфи по этому. Где нужно определать поля структуры? Вот пример функции:
Зарание спасибо. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Структуру надо вначале определить, а уже потом использовать. Например
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
|
|||
|
||||
Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: 0 Всего: 1 |
Вот я определил структуру:
Мне пишет ошибку в цикле: [C++ Error] File1.cpp(134): E2015 Ambiguity between 'list' and '_STL::list<_Tp,_Alloc>' Что это может быть? |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
vinter, а зачем через типедеф? Его юзают в сях - чтобы ключевое слово struct лишний раз не писать, это понятно, но у тебя передача по ссылке => это плюсы.
Добавлено через 3 минуты и 16 секунд Sergio, у тебя похоже стоит using namespace std. Возникает конфликт межу std::lsit и локальной переменной list. От юзинга неймспейса лучше отказаться (поиск по форуму объяснит почему), да и переменную можно назвать по другому ![]() Ещё - в данном случае структуру лучше передавать по константной ссылке для избегания лишних копирований. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Конфлик имен. У тебя переменная list и стандартный класс list в одной области видимости. Изменяй название переменной или убирай using namespace std; У нас на работе пальцы ломают за такое в С++ ![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
[offtop] Прям ломают ![]() [/offtop] |
|||
|
||||
EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
У нас на работе пальцы ломают за такое в С++ ![]() оффтопик //видать большая текучка кадров у вас... ![]() ![]() -------------------- <удалено администрацией форума> |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
А может у них много мутантов работают? Каких-нибудь стопальцевых? Или регенерация очень развита: палец отломали - два выросло. Серкретное предприятие, блин ![]() |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Я так код не пишу ![]() нет. вовсе нет. отсеивают хорошо ещё при наборе ![]() Да. На территори режимного института ![]() Это сообщение отредактировал(а) Daevaorn - 23.4.2007, 18:42 |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
А вдруг случайно... Да и вообще - мож ещё за что-то тоже ломают пальцы там у вас. Я нисколько не сомневаюсь в твоём опыте программрования, но всё-таки секретный объект, спецрежим... Добавлено через 1 минуту и 35 секунд Да это ничего... Главно не иди работать в секретный объект, где работает Daevaorn ![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
<имхо>
а вообще объявлять переменную с именем list и при этом юзать вектор как-то не то... все вышеотписавшиеся правы насчет "no_using_namespace", но и имена такие лучше не давай </имхо> Добавлено через 3 минуты и 21 секунду
Почему же? Насчет пригрозить поломать пальцы за такой вот typedef'ы - +1. ![]() А вообще - отжигаете, господа ![]() Добавлено через 7 минут и 10 секунд А, Любитель уже отписал насчет имен... невнимательно смотрел. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
JackYF, ну вот ты хочешь жить, ожидая, что за случайную глупость (не знаю, как у кого, у меня бывает, что машинально что-то напишешь - потом удивляешься, как такое мог написать...) лишишься (в очередной раз...) пальца? Я - нет. Как закончу универ - ни за что не пойду работать к
Daevaornу. ЗЫ Блин, надо закрывать тему... |
|||
|
||||
likehood |
|
||||
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
Странный код какой-то.
Вот здесь вот
по-идее должны сравниваться две строки. Тогда нужно использовать strcmp:
Кроме того, если это условие выполнится, то контакт будет занесен в вектор и когда мы дойдем до конца вектора, будут сравниваться две одинаковых строки. Таким образом, мы получим вечный цикл. Чтобы этого не произошло, можно сохранить исходный размер вектора во временной переменной. |
||||
|
|||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Написать глупость по ошибке вполне возможно и допустимо, другое дело, что эта глупость не должна попасть в code review вышестоящих по должности. Главное вовремя одуматься ![]() Это сообщение отредактировал(а) Daevaorn - 23.4.2007, 21:27 |
|||
|
||||
Любитель |
|
||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Увлёкшись пальцами, мы и не заметили. ![]()
break Ну, я часто делаю, а потом думаю. Опыта в таком деле нет, но я не уверен... ЛУчше обезопасить свои пальцы и работать где-нибудь в другом месте. ЗЫ Хотя надо привыкать думаь до того, как делать... |
||||
|
|||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Вроде только пальцы ломали. Теперь уже рубить начали? И что рубить? И как ты будешь поправлять, если тебя зарубят? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
Любитель,
![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ээ... не знаю, если я такое напишу в здравом уме в программе на С++, то я всячески поддержу угрозу за такое ну если не поломать пальцы, то на недельку лишить компа точно. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Изверги. Я после (не по моей воли :( ) писанины то на одном языке, то на другом иногда пять минут думаю - писать bool или boolean, условие в ифе ставляю в скобки, а после добавляю then... Хотя после 20-30 минут - привыкаю, пишу на чём надо
![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Сочувствую... честно, сочувствую... благо время, когда и нас заставляли писать код на Паскале, кончилось (очень надеюсь, что кончилось ![]() после 1-го семестра 1-го курса... Тут суть такая. Если такое писать в лабы на универ - все равно на код толком никто не смотрит, и простительно... все равно универ мало чему толковому научит в плане программинга... а когда будешь работать, то там уже будешь писать преимущественно на одном языке, и таких проблем уже не будет. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
boolean - Java. Другой вариант - catch (Exception e). В шарпе выдаёт варнинг (не люблю варнинги). Буква e не нравиться ![]() Не надо во всех бедах винить Дельфи/Паскаль ![]() Ну, я второй заканчиваю. Бесполезно... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
![]() эта фразу я принял как с Паскалем, потому что в Java then не ставиться после if'a. Логично? ![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Да. Просто я говорю как раз не про два языка, а: "то один, то другой ...". То был просто пример. ![]() ЗЫ Давайте устроим голосование "можно ли за такой код ломать пальцы"? ![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
![]() ![]() |
|||
|
||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
А если данная структура должна быть одновременно доступна и в си++ и в си? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Mayk, судя по векторам и ссылкам в начальном коде - нужен маленький код для плюсов.
|
|||
|
||||
JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ну давайте все-таки говорить корректно - "в Украине". Не страна, что ли?
Это же какая, интересно? ![]()
Подчеркиваю еще раз, что мое утверждение относилось к программам на С++. На языке С я не пишу (пока, по крайней мере) и его поддерживать не собираюсь. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |