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

Волшебные вещи с typedef struct - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 22:44     Волшебные вещи с typedef struct #1
у меня сейчас мозг взорвется не пойму в чем ошибка,где я не так делаю?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <Windows.h>
#define _CRT_SECURE_NO_WARNING
 
#define MaxNameL 32
#define MaxGroundL 3
typedef struct student
{
    char last_name[MaxNameL];
    int ground[MaxGroundL];
 
};
 
 
int main()
{
 
        student s;
        s.ground[0] = 4;
 
         student group[] =
{
   {"Petrovna", {3,3,3} }
};
 
    system("PAUSE");
    return 0;
}
ошибки :
C++
1
2
3
4
5
6
7
8
9
Ошибка  1   error C2065: student: необъявленный идентификатор
Ошибка  2   error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "s"    
Ошибка  3   error C2065: s: необъявленный идентификатор 
Ошибка  4   error C2065: s: необъявленный идентификатор
Ошибка  5   error C2224: выражение слева от ".ground" должно иметь тип структуры или объединения    
Ошибка  6   error C2065: student: необъявленный идентификатор
Ошибка  7   error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "group"
Ошибка  8   error C2065: group: необъявленный идентификатор
Ошибка  9   error C2059: синтаксическая ошибка: ]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2012, 22:44     Волшебные вещи с typedef struct
Посмотрите здесь:

C++ typedef struct
typedef struct C++
C++ Программа через структуру typedef struct
C++ typedef struct ....
typedef C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 22:51     Волшебные вещи с typedef struct #2
C
1
2
3
4
typedef struct
{
    // vars
} student;
А в C++ typedef и не требуется.
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 22:53  [ТС]     Волшебные вещи с typedef struct #3
Пишу на с
visual studio 2012
console application main.c

soon
все равно ошибки остались

сделал вот так
C++
1
2
3
4
5
6
typedef struct 
{
    char last_name[MaxNameL];
    int ground[MaxGroundL];
 
} student;
Осталось 4 ошибки
C++
1
2
3
4
Ошибка  1   error C2275: student: недопустимое использование этого типа в качестве выражения
Ошибка  2   error C2146: синтаксическая ошибка: отсутствие ";" 
Ошибка  3   error C2065: group: необъявленный идентификатор 
Ошибка  4   error C2059: синтаксическая ошибка: ]
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
15.07.2012, 23:01     Волшебные вещи с typedef struct #4
xADMIRALx, http://codepad.org/y3i9GjAm
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:02     Волшебные вещи с typedef struct #5
Закомментил весь платформозависимый код - заработал. Попробуйте
C
1
2
3
4
typedef struct _student
{
    // vars
} student;
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:06  [ТС]     Волшебные вещи с typedef struct #6
Блин что делать тогда?Компилятор менять что ли ?

Добавлено через 2 минуты
soon
Уф блин спасибо!!Очень выручили...Можна узнать как вы определили то что там ошибка ?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:09     Волшебные вещи с typedef struct #7
xADMIRALx, это все телепатия. За время, проведенное на форуме, я успел ее немного подкачать.
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:15  [ТС]     Волшебные вещи с typedef struct #8
soon
Не подскажете IDE под C что бы подобных ошибок не было?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
15.07.2012, 23:18     Волшебные вещи с typedef struct #9
xADMIRALx, а что за компилятор такой?
у меня 10ая студия компилит и как с и как с++
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:20     Волшебные вещи с typedef struct #10
Подобные ошибки будут до тех пор, пока сами с ними не столкнетесь. IDE тут никак не поможет(ну разве что(в вашем случае) сниппет изначально корректный подсунет). На правах рекламы - vim и ST2(хотя, ни то, ни то не IDE). А вопросы по Си решаются в другом разделе.
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:24  [ТС]     Волшебные вещи с typedef struct #11
alex_x_x
2012 vs у меня тоже С компилит,только вот не давно начали сыпаться не понятные ошибки

soon
а как в дольнейшем бороться с такими ероррами?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:28     Волшебные вещи с typedef struct #12
xADMIRALx, в вашем случае это была ошибка синтаксиса, поэтому гуглиться должна на ура. Другой вопрос, насколько эта ошибка обоснована - тут мало что скажу, поскольку первый вариант у меня компилился всегда без проблем. Да и не особо я в Си силен.
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
18.04.2013, 19:31     Волшебные вещи с typedef struct #13
Цитата Сообщение от soon Посмотреть сообщение
Закомментил весь платформозависимый код - заработал. Попробуйте
C
1
2
3
4
typedef struct _student
{
    // vars
} student;
А зачем здесь _student и почему student указано не на месте имени структуры, а на месте создания объекта. То есть тут в коде typedef под student имеется ввиду, что это не создание объекта структуры _student, а алиас для структуры student и если сделать потом создание объекта в другом месте такого вида : student obj; , то это будет значить, что создался объект структуры _student. Если все так, то зачем это все, проще же сразу написать _student obj?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2013, 19:44     Волшебные вещи с typedef struct
Еще ссылки по теме:

typedef struct + TXT C++
C++ Для чего typedef struct
Typedef C++

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

Или воспользуйтесь поиском по форуму:
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 929
Завершенные тесты: 1
18.04.2013, 19:44     Волшебные вещи с typedef struct #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct A {...};
 
...
stuct A a; //это в си
A a; //это с++
....
//для этого
typdef _A{...} A;
//но проще typdef {...} A; здесь используется noname понятие
 
A a; // это легально теперь и в си
A a; //тоже вы получите и в с++
Yandex
Объявления
18.04.2013, 19:44     Волшебные вещи с typedef struct
Ответ Создать тему
Опции темы

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