С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 5
1

Как реализовать структуру

03.06.2014, 19:34. Показов 1606. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Никак не могу скомпиллировать эту структуру.
C++
1
struct tree{ char inf[5]; list<tree*> lt;};
Выдает вот эти ошибки
Код
Ошибка	1	error C2143: синтаксическая ошибка: отсутствие ";" перед "<"	\\densmoke-nb\документы\visual studio 2013\projects\yacc — копия (2)\yacc\ytab.h	6	1	yacc
Ошибка	2	error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию	\\densmoke-nb\документы\visual studio 2013\projects\yacc — копия (2)\yacc\ytab.h	6	1	yacc
Ошибка	3	error C2238: непредвиденные лексемы перед ";"	\\densmoke-nb\документы\visual studio 2013\projects\yacc — копия (2)\yacc\ytab.h	6	1	yacc
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2014, 19:34
Ответы с готовыми решениями:

Как реализовать структуру?
Есть две структуры студент и комната в которой он проживает. Как лучше реализовать ситуацию?...

Как лучше реализовать структуру класса?
Есть задача создать класс авто-архив. Класс реализовал со структурой внутри класса. Создал...

Как можно реализовать такую структуру?
Реализовать структуру данных, которая имеет все те же операции, что массив длины n, а именно •...

Реализовать структуру моделирующую работу аэропорта; реализовать поиск по заданному полю в массиве таких структур
Здравствуйте. Каким образом можно сделать ввод данных через массив, а так же все последующие...

10
2 / 2 / 5
Регистрация: 03.03.2013
Сообщений: 49
03.06.2014, 20:11 2
Тож интересно, сам пробовал. не хочет контейнер создаватся внутри структуры . Если вы создаете бинарное дерево, то может вы сможете выкрутится как-то так
C++
1
2
3
4
5
struct tree
{
   char inf[5];
   tree *left, *right;
};
0
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 5
03.06.2014, 20:19  [ТС] 3
Riddleman, в том то и дело, что количество ветвей заранее не определено. наверное придется все таки создавать свой список с уже определенным типом данных внутри. хотя скорее всего тоже не факт, что сработает.
0
2 / 2 / 5
Регистрация: 03.03.2013
Сообщений: 49
03.06.2014, 20:53 4
Да нет ваша идея правильная, просто здесь есть какой то подводный камень о котором, увы, я не знаю. Здесь нужен кто то с большым опытом чем у меня. Самому интересно каково решение. Буду следить за этой темой
0
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
03.06.2014, 21:28 5
Ваш ларчик открывается просто.
Забыли
C++
1
#include <list>
1
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 5
04.06.2014, 01:26  [ТС] 6
zss, нет, не забыл. счел не нужным говорить о том, что я его указал, ведь тогда первой шла бы ошибка о неизвестном идентификаторе
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.06.2014, 01:50 7
Лучший ответ Сообщение было отмечено densmoke как решение

Решение

C++
1
2
3
4
5
struct tree
{
    char inf[5];
    std::list <tree*> lt;
};
Добавлено через 1 минуту
В какой среде не компилируется?
Миниатюры
Как реализовать структуру  
1
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 5
04.06.2014, 02:59  [ТС] 8
alsav22, хм. у меня Visual Studio 2013 Ultimate Update 2.
Вот странно. Пробовал раньше прописать std::, так он сказал, что list не является его членом. а сейчас почему то все скомпиллировалось. чудеса да и только

Добавлено через 16 минут
Теперь при таких операциях
C++
1
2
tree* t;
t->inf="";
Такая ошибка
Код
	1	IntelliSense: выражение должно быть допустимым для изменения левосторонним значением	\\densmoke-nb\документы\Visual Studio 2013\Projects\yacc — копия (2)\yacc\ytab.h	48	3	yacc
в то время как такое разрешено
C++
1
char str[255]="";
И к тому же почему то в функцию sprint_s ничего не передается при таком вызове
C++
1
sprint_s(t->inf,"%s",str);
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.06.2014, 12:09 9
Цитата Сообщение от densmoke Посмотреть сообщение
Пробовал раньше прописать std::, так он сказал, что list не является его членом
Так пишет, когда #include <list> нет.

Добавлено через 1 минуту
Цитата Сообщение от densmoke Посмотреть сообщение
t->inf="";
Где вы видели, что с массивом char так можно делать?

Добавлено через 46 секунд
Цитата Сообщение от densmoke Посмотреть сообщение
в то время как такое разрешено
Разрешено при объявлении массива.

Добавлено через 1 минуту
Цитата Сообщение от densmoke Посмотреть сообщение
И к тому же почему то в функцию sprint_s
С этим сами разбирайтесь, есть стандартные функции.
0
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 5
04.06.2014, 16:43  [ТС] 10
ну для меня C++ все равно, что матан для школьника. вот эта запись char str[255]=""; ввела в заблуждение, что так делать можно. ну там очепятка вышла, это sprintf_s, так то стандартная функция из stdio.h. понятия не имею, чем еще записывать в массив
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.06.2014, 16:56 11
Цитата Сообщение от densmoke Посмотреть сообщение
sprintf_s, так то стандартная функция
sprintf() - стандартная, а sprintf_s() - придумка microsoft.
0
04.06.2014, 16:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 16:56
Помогаю со студенческими работами здесь

Реализовать структуру Music
Язык форума - русский. Переведите! Vitaliy1212, при повторном нарушении пункта правил 1.4. тема...

Реализовать структуру Student
HELP GUYS :help: Следующие задания требуется решить с использованием классов.При этом...

Реализовать структуру Parallelogram
Создайте структуру Параллелограмм с элементами a, b - стороны параллелограмма и a - угол между...

Как создать структуру-список, поля которой — ссылка на такую же структуру
Суть вопроса в том, как создать структуру-список, поля которой - ссылка на сл. элемент(такую же...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru