Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
TamaGOch
9 / 9 / 3
Регистрация: 11.12.2012
Сообщений: 152
#1

Функция внутри структуры использует указатель, как поле этой структуры

28.11.2013, 11:41. Просмотров 1053. Ответов 4
Метки нет (Все метки)

Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp,
есть файл GlobalItems.h, где хранятся глобальные структуры проекта
внутри GlobalItems.h есть такая структура:
C++
1
2
3
4
5
6
7
8
extern class A;
struct B {
A* A_Obj;
void Func ( )
{
A_Obj->Example ();
}
};
вылетает что-то типа: Error 4 error C2027: use of undefined type 'A' c:\users\...\GlobalItems.h

в чём не прав?

на всякий случай: строки #include "A_class.h" в ГлобалИтемс нет намеренно, т.к. в самом файле A_class.h есть #include "GlobalItems.h", поэтому через extern

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 11:41
Ответы с готовыми решениями:

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла?
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f=...

Объявить указатель на структуру внутри структуры
Объявить указатель на структуру внутри структуры. Добавлено через 5 часов 24...

Указатель на указатель внутри структуры
Приветствую. Есть 2 структуры: enum category { Technical, History, Fiction };...

Сортировка через указатель на поле структуры
Здравствуйте! Совсем не понимаю, как реализовать сортировку пузырьком с...

Списки структур. Указатель на узел другого списка внутри структуры
Имеется следующий кусок кода: struct date { int day; int month; int...

4
MrCold
861 / 759 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
28.11.2013, 11:45 #2
Память под A_Obj не выделена
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct B {
A* A_Obj;
public:
B()
{
   A_Obj = new A();
}
void Func ( )
{
A_Obj->Example ();
}
};
1
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
28.11.2013, 11:48 #3
Цитата Сообщение от TamaGOch Посмотреть сообщение
в чём не прав?
В том, что
C++
1
class A;
не объявляет класс. Эта строка не содержит определения класса. Её достаточно, чтобы сказать компилятору: "Вот у меня есть такой класс где-то, можешь не паниковать, когда я захочу хранить указатели на такие объекты". Но она не говорит ему: "У объектов класса A есть метод Example".

Цитата Сообщение от TamaGOch Посмотреть сообщение
на всякий случай: строки #include "A_class.h" в ГлобалИтемс нет намеренно, т.к. в самом файле A_class.h есть #include "GlobalItems.h", поэтому через extern
You're doing it wrong. Используйте #pragma once или include guards чтобы избежать проблем с повторным определением при циклическом включении.
0
TamaGOch
9 / 9 / 3
Регистрация: 11.12.2012
Сообщений: 152
28.11.2013, 11:54  [ТС] #4
MrCold, спасибо,
OhMyGodSoLong у меня стоит на ifndef и define , думал помогут, но не получалось, попробую конечно ещё раз, спасибо за объяснение
0
Tulosba
28.11.2013, 14:18     Функция внутри структуры использует указатель, как поле этой структуры
  #5

Не по теме:

Цитата Сообщение от TamaGOch Посмотреть сообщение
OhMyGodSoLong у меня стоит на ifndef и define
какое сочетание ... :D

0
28.11.2013, 14:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 14:18
Привет! Вот еще темы с ответами:

Как задать указатель для структуры (и не только)
Есть такая задача: Напишите фрагмент кода, который динамически выделит...

Передачи структуры и функция структуры
Здравствуйте, у меня такое задание Есть некая структура struct...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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