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

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

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

Массив объектов класса как член другого класса - C++

27.01.2014, 03:36. Просмотров 742. Ответов 4
Метки нет (Все метки)

Здравствуйте. У меня тут возникла проблемка
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
 
#include "main.h"
class player
{
public:
    
    player();
    player(char*);
    ~player();
 
    
 
    column* colPtr;
    char*  name;
    int    scoreCount;
 
 
 
 
    void   turn();
    void   init();
    void   scoreSumm();
    void   show();
} ;
В месте
>column* colPtr;
компилятор говорит: " syntax error : missing ';' before '*' ", " missing type specifier - int assumed ".
Далее после каждого обращения к colPtr выдаётся ошибка " 'colPtr' : is not a member of 'player' ", причём даже во время редактирования слово column подсвечивается так, как подсвечиваются имена классов, т.е как надо; а во время обращения к colPtr мне сама среда в списке вариантов его предлагает, т.е на стадии редактирования всё идёт хорошо, но потом что-то не так, не понятно, что именно.
Класс column подключён (В main.h есть #include "column.h" ). Я пробовал переименовывать colPtr и делать статический массив вместо указателя, результат один и тот же.
Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 03:36     Массив объектов класса как член другого класса
Посмотрите здесь:

Массив объектов класса. Печать строк-членов класса. C++
C++ Функция-друг одно класса, член другого.
C++ Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
C++ Инициализация объектов класса в конструкторе другого класса
Как получить private переменную класса, функцей членом другого класса C++
Массив объектов в конструкторе другого класса C++
C++ Массив как член класса
Большой двумерный массив как член класса C++
C++ Статический массив как член класса
C++ Как переместить из стека одного класса в массив другого класса?
C++ Реализовать подсчет количества объектов класса, используя статическую переменную-член класса
Приём константных векторов класса, как аргументов в методе другого класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
27.01.2014, 04:06     Массив объектов класса как член другого класса #2
Попробуй объявить класс column в том же файле, только обязательно перед объявлением player
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
27.01.2014, 04:10     Массив объектов класса как член другого класса #3
Куда ещё подключается mаin.h? Как он сам выглядит? Куда ещё подключается файл с классом player?
TehEnd
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 2
27.01.2014, 04:41  [ТС]     Массив объектов класса как член другого класса #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Куда ещё подключается mаin.h? Как он сам выглядит? Куда ещё подключается файл с классом player?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef MAIN_H
#define MAIN_H
 
 
//Ext dep
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <Windows.h>
#include <locale>
#include <string.h>
 
 
//Int dep
#include "column.h"
#include "player.h"
#include "combVal.h"
 
#include "actF.h"
#include "commonFun.h"
 
#endif
Когда я в сотый раз увидел свой main.h, я заметил, что column.h включался после player. Спасибо.
Столько времени не мог найти такую простую ошибку!
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.01.2014, 06:27     Массив объектов класса как член другого класса #5
Если так сделать, то уже без разницы будет очерёдность хедеров:
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
#include "main.h"
 
class column;
 
class player
{
public:
    
    player();
    player(char*);
    ~player();
 
    
 
    column* colPtr;
    char*  name;
    int    scoreCount;
 
 
 
 
    void   turn();
    void   init();
    void   scoreSumm();
    void   show();
} ;
Yandex
Объявления
27.01.2014, 06:27     Массив объектов класса как член другого класса
Ответ Создать тему
Опции темы

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