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

Класс А не принимает член-переменную с типом класс Б - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите плз (на каком языке программирования легче писать ПК игры?) http://www.cyberforum.ru/cpp-beginners/thread913452.html
Извините времени нету искать информацию в поисковиках . Подскажите, на каком языке программирования легче писать ПК игры. На с++ или яве или на других языках ? Скажите плюсы и минусы языка.
C++ Составить рекурсивную функцию, которая находит произведение n парных положительных чисел Помогите пожалуйста с задачей! Составить рекурсивную функцию, которая находит произведение n парных положительных чисел. http://www.cyberforum.ru/cpp-beginners/thread913431.html
Как избежать не нужной пустой реализации виртуальных методов в базовом классе? C++
Для наглядности: class BASE { public: BASE(); ~BASE(); virtual void Do();
Выделении ошибок в Visual С++ 6.0 C++
Может - ли Visual С++ 6.0 выделять ошибки?
C++ Программа (ошибка) http://www.cyberforum.ru/cpp-beginners/thread913392.html
Вот написал программу: #include <iostream> #include <cstdlib> #include <cstring> using namespace std; void Lalka() { char Ky_Gudbuy; cout << "Ky ky, lalka!(Ky, Gudbuy)" << endl;
C++ Переполнение (Stack overflow) Подскажите, пожалуйста, почему при перемещении int n, a, k; в локальную область программа при открытии консоли выдаёт ошибку и не работает, а в глобальной области всё в порядке? Отладка показывает Stack overflow. # include <iostream> using namespace std; int main () { int n, a, k; подробнее

Показать сообщение отдельно
SeerRus
5 / 5 / 1
Регистрация: 26.06.2013
Сообщений: 32

Класс А не принимает член-переменную с типом класс Б - C++

27.06.2013, 18:31. Просмотров 261. Ответов 2
Метки (Все метки)

Разработка ведётся в Visual Studio 2010 с использованием MFC

Есть некий класс AnswersStatistic, header которого приведён ниже:

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
#pragma once
 
#include "DialogStats.h"
 
struct stRightWrong
{
    UINT right, wrong;
    stRightWrong(UINT _right, UINT _wrong) : right(_right), wrong(_wrong) {}
};
 
class AnswersStatistic
{
    stRightWrong m_total;
    typedef std::pair<CString, stRightWrong> PairNote;
public:
    std::map<CString, stRightWrong> m_notes;
 
    AnswersStatistic() : m_total(0,0) {}
    ~AnswersStatistic(void) {}
 
    CRect CoordStats;
 
    void AddRight(CString note);
    void AddWrong(CString note);
    void DrawAnswers(CPaintDC *pDC, CWnd *pWnd);
};
Есть другой класс CDialogStats, в который с помощью строки
C++
1
AnswersStatistic * m_statistics;
добавлена переменная.
header этого класса ниже
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
#pragma once
 
#include "stdafx.h"
#include "AnswersStatistic.h"
 
// диалоговое окно CDialogStats
 
class CDialogStats : public CDialogEx
{
    DECLARE_DYNAMIC(CDialogStats)
 
public:
    AnswersStatistic* m_statistics;
 
    CDialogStats(AnswersStatistic *_stats, CWnd* pParent = NULL);
    virtual ~CDialogStats() {}
 
    void FillListBox();
 
// Данные диалогового окна
    enum { IDD = IDD_DIALOG1 };
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // поддержка DDX/DDV
 
    CListBox m_ListNotes;
 
    DECLARE_MESSAGE_MAP()
};
При попытке компиляции получены ошибки (первые в списке и ключевые):
C++
1
2
3
1>d:\projects\mine\musicteacher\musicteacher\dialogstats.h(13): error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
1>d:\projects\mine\musicteacher\musicteacher\dialogstats.h(13): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>d:\projects\mine\musicteacher\musicteacher\dialogstats.h(13): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Как я понимаю, он не хочет создавать указатель такого класса. Как это исправить и где я ошибся?
Помогите пожалуйста!

Добавлено через 4 минуты
Разобрался, header друг на друга ссылаются.
Тему можно закрыть или снести.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru