Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
#1

нестатическая ссылка на член должна указываться относительного заданного объекта - C++

09.10.2012, 22:19. Просмотров 1799. Ответов 4
Метки нет (Все метки)

Подскажите что не так? (ошибка в конструкторе puckMan.cpp)

gameElement.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
class gameElement
{
public:
    struct characteristics
    {
        int posY;
        int posX;
 
        bool movementOpportunity; //возможность передвижения
    };
    
    gameElement(void);
    ~gameElement(void);
};
gameElement.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "gameElement.h"
 
 
gameElement::gameElement(void)
{
}
 
 
gameElement::~gameElement(void)
{
}
puckMan.h
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
#include "gameelement.h"
 
class puckMan : public gameElement
{
public:
    gameElement puckman;
 
    puckMan(void);
    ~puckMan(void);
};
puckMan.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "puckMan.h"
 
 
puckMan::puckMan(void)
{
    characteristics.posX=2;[B]// здесь - ошибка, пишет ошибку(название темы)[/B]
}
 
 
puckMan::~puckMan(void)
{
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 22:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос нестатическая ссылка на член должна указываться относительного заданного объекта (C++):

нестатическая ссылка не член должна указываться относительно заданного объекта - C++
выдает очень много этих ошибок в коде. в строчках 93, 100, 102, 104, 105, 112, 118, 119, 124, 129, 135, 136 #include <iostream> ...

Нестатическая ссылка не член должна указываться относительно заданного объекта - C++
Собственно проблема (пока что) в 117 и 118 строчках. Кто подскажет как её решить, тот получит от меня "спасибо" ^_^ а если серьезно, то...

Ошибка: нестатическая ссылка не член должна указываться относительно заданного объекта - C++
Есть класс class Primitive_triangle { private: GLuint VAOhandles; GLuint VBOhandles; //Элемент массива обрабатываемый...

Не статическая ссылка не член должна указываться относительно заданного объекта (ООП) - C++
Доброго времени суток. Собственно, возникла данная проблема: у меня есть один родительский класс (shape) и несколько дочерних. В...

Нестатическая ссылка в статичной (BOOL CALLBACK EnumWindowsProc) функции внутри класса - C++
Здравствуйте форумчане приступлю сразу к сути. В чем сущность алгоритма: Нужно собрать RECT всех отображаемых окон и записать в...

Член-ссылка на другой член класса - C++
Есть класс Dot с двумя членами - x и y. Требуется еще один класс, который хранит width i height, но реализация этого класса ничем не...

4
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.10.2012, 22:26 #2
!Андрей!, characteristics - всего лишь объявление типа. Вы должны объявить переменную этого типа, чтобы обращаться к её полям.
1
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2012, 22:27 #3
нужно создать объект структуры characteristics
gameElement.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
class gameElement
{
public:
    struct characteristics
    {
        int posY;
        int posX;
 
        bool movementOpportunity; //возможность передвижения
    } m_characteristics;
    
    gameElement(void);
    ~gameElement(void);
};
puckMan.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "puckMan.h"
 
 
puckMan::puckMan(void)
{
    m_characteristics.posX = 2;
}
 
 
puckMan::~puckMan(void)
{
}
1
John Prick
831 / 764 / 154
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
09.10.2012, 22:31 #4
У вас в классе:
C++
1
2
3
4
5
6
class puckMan : public gameElement
{
public:
    gameElement puckman;
//...
}
Т.е. есть поле puckman типа gameElement, а вы обращаетесь к имени класса characteristics. Короче, жуткая каша из хрен пойми чего.
Посмею предположить, что должно было быть так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class puckMan : public gameElement
{
public:
    gameElement::characteristics puckman;
 
    puckMan(void);
    ~puckMan(void);
};
 
//...
 
puckMan::puckMan(void)
{
    puckman.posX=2;
}
1
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
09.10.2012, 22:39  [ТС] #5
Спасбо большое! Понял ошибку!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 22:39
Привет! Вот еще темы с ответами:

Ссылка на член, не являющийся общим, должна быть ссылкой на объект при инициализации формы - Visual Basic .NET
Как это исправить? Из-за чего появляется это сообщение? Добавлено через 10 минут Подробности: Ошибка появляется в коде: ...

Ошибка доступа к базе данных "ссылка на член, не являющийся общим, должна быть ссылкой на объект" - Visual Basic .NET
Есть форма с базой данных все работает. ' Объявляем местонахождение базы Dim DS As String = Application.StartupPath &...

В экземпляре объекта не задана ссылка на объект при динамическом создании объекта - C#
Выдается ошибка NullReferenceException в private void button2_Click(object sender, EventArgs e) { ...

Get- ер и ссылка на приватный член класса - Java SE
Здравствуйте. Возник вопрос - о какой защите данных идет речь?) Можно в классе иметь private ссылку на какой - то объект. И можно в...


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

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

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