Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexeyal
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 4
#1

подскажите новичку, пожалуйста.. - C++

03.09.2009, 11:45. Просмотров 684. Ответов 12
Метки нет (Все метки)

добрый день. заранее извиняюсь за глупый вопрос, но гугл оказался не в курсе. почему не работает код?

C++
1
2
3
4
5
6
7
#include <vector>
int main()
{
struct pair{char ch1; char ch2; int count;};
vector<pair> vr(100500);
return 0;
}
ругается, естессно, на строчку с объявлением вектора, на тип. хотя у страуструпа в книжке имеется один-в-один пример. может я не подключил какой-нибудь необходимый файл? компилятор-gcc, если это имеет значение.
заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2009, 11:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите новичку, пожалуйста.. (C++):

Подскажите пожалуйста новичку! - C++
Я студент. На курсовую задали написать программу, выглядит она так: Картотека в бюро обмена квартир организована в виде линейного...

Пожалуйста подскажите новичку - C++
Добрый день всем! Недавно начал самостоятельно изучать С++ по книге Р. Лафоре « Объектноориентрованое прогаммирование в С++». Книга очень...

Подскажите новичку. - C++
Здравствуйте. Есть такой пример составил под него программу на С++ #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

Подскажите новичку - C++
Приветствую! Я в программировании новичок, возникают вопросы даже на «первых ступенях»... Собственно, у меня такой вопрос, почему при таком...

подскажите новичку - C++
основы и синтаксис с++ знаю хотелось бы изучить QT но незнаю как подойти к решению вопроса подскажите книги какие-то голова кругом

Подскажите новичку - C++
Добрый день хотел узнать где достать пароль от программы созданной на с++ могу скинуть где качал прогу.

12
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.09.2009, 12:06 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vector>
 
using namespace std;
 
struct ch_pair {
    char ch1;
    char ch2;
    int count;
};
 
int main( void ) {
 
vector<ch_pair> v(100500);
return 0;
 
} // main()
1
alexeyal
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 4
03.09.2009, 12:19  [ТС] #3
спасибо огромное, все заработало!

а вот объясните пожалуйста, почему не работало до этого? ведь структура была объявлена локальной в той же функции, где ее предполагалось использовать? по логике все нормально.
0
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
03.09.2009, 12:39 #4
Цитата Сообщение от alexeyal Посмотреть сообщение
а вот объясните пожалуйста, почему не работало до этого?
Цитата Сообщение от odip Посмотреть сообщение
using namespace std;
А вот, почему!
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.09.2009, 12:41 #5
Еще почему-то имя pair не берет - видимо где-то используется
0
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
03.09.2009, 12:49 #6
Цитата Сообщение от odip Посмотреть сообщение
Еще почему-то имя pair не берет - видимо где-то используется
ага
Код
$ man 3 std::pair
std::pair(3)                                                      std::pair(3)

NAME
       std::pair -

SYNOPSIS
Detailed Description
   template<class _T1, class _T2> struct std::pair< _T1, _T2 >
       Definition at line 68 of file stl_pair.h.

   Public Types
       typedef _T1 first_type
       typedef _T2 second_type

   Public Member Functions
       template<class _U1, class _U2> pair (const pair< _U1, _U2 > &__p)
       pair (const _T1 &__a, const _T2 &__b)
       pair ()

   Public Attributes
       _T1 first
       _T2 second
...
0
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.09.2009, 13:05 #7
а чем так плохо?

C++
1
vector<pair<char, char> > vr(100500);
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.09.2009, 13:07 #8
А где третье поле в структуре - типа int ?
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
03.09.2009, 13:26 #9
Цитата Сообщение от odip Посмотреть сообщение
А где третье поле в структуре - типа int ?
тогда это уже не пара будет
0
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.09.2009, 13:26 #10
Цитата Сообщение от odip Посмотреть сообщение
А где третье поле в структуре - типа int ?
оно называется count. что оно собирается считать? во-вторых, что оно, третье, делает, в "структуре типа ПАРА", т.е. для двоих вроде?

но если оно так уж необходимо, то:

C++
1
vector<pair<pair<char, char>, int> > > vr(100500);
но автору лучше знать что он конструирует.
0
alexeyal
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 4
03.09.2009, 13:35  [ТС] #11
using namespace std;

это я, пардоньте, когда сюда писал забыл. и так пробовал, и
C++
1
std::vector
тоже. и pair этот и как pairs, и как ps и еще как-то называл. компилятор именно на объявление вектора ругался, что и вызвало мое недоумение-ведь просто допустим

C++
1
2
3
4
5
struct pair<char pr1; char pr2; int cnt>;
pair para;
para.pr1='a';
para.pr2='b';
para.cnt=1;
работало вполне себе исправно..


а то, что парой называется НЕ пара-это я просто в языке разбираюсь, гоняю всякие полезные мне в будущем штучки. изначально оно было именно парой
0
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
03.09.2009, 14:03 #12
C++
1
2
3
int main()
{
struct pair{char ch1; char ch2; int count;};
Я бы всетаки старался, чего и вам советую, выносить обьявления структур, классов, фуккций выносить за пределы main()
0
alexeyal
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 4
03.09.2009, 14:23  [ТС] #13
спасибо, учту.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2009, 14:23
Привет! Вот еще темы с ответами:

Подскажите новичку - C++
Подскажите новичку какой интегрированной средой разработки пользоваться и как ?

Подскажите новичку где ошибка - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int n, m, p, h, g; cin &gt;&gt; n &gt;&gt; m; int a; h = 0; ...

подскажите новичку добрые друзья( - C++
всем ПРИВЕТ =) ребята хотел у вас спросить, с чего надо начинать, что бы понимать программировании, проста с задачам который мне надо было...

конкатенация 2х строк? подскажите новичку в с++ - C++
Как получить строку s, являющую собой конкатенацию двух строк s0 и s1?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Yandex
Объявления
03.09.2009, 14:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru