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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
maest
79 / 34 / 3
Регистрация: 11.11.2010
Сообщений: 486
#1

Ошибка при компиляции - C++

26.05.2011, 11:55. Просмотров 1217. Ответов 8
Метки нет (Все метки)

Создал структуру:

C++
1
2
3
4
5
6
7
8
9
10
11
struct STUD
{char t[200];
 char y[100];
 char u[100];
 char  i[100];
 char o[100];
};
 
...
 
STUD.t="Привет!";
При компиляции выдает ошибку:

E2108 Improper use of typedef 'STUD'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kjahert
49 / 49 / 5
Регистрация: 08.04.2011
Сообщений: 124
26.05.2011, 12:02     Ошибка при компиляции #2
Для того чтобы обращаться к полям и методам, нужно создать экземпляр этого класса - переменную.
STUD mySTUD;
Тогда обращение mySTUD.t имеет смысл.
Попробуй сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class STUD
{
 public:
 char t[200];
 char y[100];
 char u[100];
 char  i[100];
 char o[100];
};
 
...
STUD mySTUD;
mySTUD.t="Привет!";
asics
Freelance
Эксперт C++
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.05.2011, 12:03     Ошибка при компиляции #3
maest, Сначала надо создать екземпляр структуры, а уже потом присваевать ее полям значения.
C++
1
2
STUD obj;
strcpy(obj.t, "qwerty");

Не по теме:

Опередили...

maest
79 / 34 / 3
Регистрация: 11.11.2010
Сообщений: 486
26.05.2011, 14:49  [ТС]     Ошибка при компиляции #4
Цитата Сообщение от kjahert Посмотреть сообщение
Для того чтобы обращаться к полям и методам, нужно создать экземпляр этого класса - переменную.
STUD mySTUD;
Тогда обращение mySTUD.t имеет смысл.
Попробуй сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class STUD
{
 public:
 char t[200];
 char y[100];
 char u[100];
 char  i[100];
 char o[100];
};
 
...
STUD mySTUD;
mySTUD.t="Привет!";
Теперь появляется ошибка:
E2277 Lvalue required
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
26.05.2011, 15:04     Ошибка при компиляции #5
Цитата Сообщение от kjahert Посмотреть сообщение
mySTUD.t="Привет!";
и это будет работать? помоему надо как asics сказал через strcpy
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
26.05.2011, 15:50     Ошибка при компиляции #6
Цитата Сообщение от pito211 Посмотреть сообщение
и это будет работать? помоему надо как asics сказал через strcpy
если ещё реализовать деструктор для структуры то работать таким образом оно не будет
maest
79 / 34 / 3
Регистрация: 11.11.2010
Сообщений: 486
26.05.2011, 16:24  [ТС]     Ошибка при компиляции #7
Цитата Сообщение от mansp Посмотреть сообщение
если ещё реализовать деструктор для структуры то работать таким образом оно не будет
Попонятней можно?
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
26.05.2011, 17:13     Ошибка при компиляции #8
строки не присваиваются просто знаком равенства(использовать strcpy(кому,что) ).
деструктор для структур не нужен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 17:49     Ошибка при компиляции
Еще ссылки по теме:

C++ Ошибка при компиляции
При компиляции ошибка. Ошибка c++ C2678 C++
C++ Ошибка при компиляции
C++ Ошибка при компиляции
C++ Использование шаблонов при наследовании, ошибка при компиляции

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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,431
26.05.2011, 17:49     Ошибка при компиляции #9
Цитата Сообщение от LineStown Посмотреть сообщение
деструктор для структур не нужен.
поправка - деструктор не нужен для тривиальных классов и структур. Ресурсы могут выделяться (в конструкторе) как для классов, так и для структур.
Yandex
Объявления
26.05.2011, 17:49     Ошибка при компиляции
Ответ Создать тему
Опции темы

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