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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
09.10.2012, 22:19     нестатическая ссылка на член должна указываться относительного заданного объекта #1
Подскажите что не так? (ошибка в конструкторе 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)
{
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 22:19     нестатическая ссылка на член должна указываться относительного заданного объекта
Посмотрите здесь:

C++ Член-ссылка на другой член класса
Написать форму ввода для заданного объекта. C++
Ссылка на объект не указывает на экземпляр объекта C++ C++
C++ Нестатическая ссылка не член должна указываться относительно заданного объекта
C++ Одномерные массивы. Найти максимальный член в массиве, начиная со второго член
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
09.10.2012, 22:26     нестатическая ссылка на член должна указываться относительного заданного объекта #2
!Андрей!, characteristics - всего лишь объявление типа. Вы должны объявить переменную этого типа, чтобы обращаться к её полям.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 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)
{
}
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 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;
}
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
09.10.2012, 22:39  [ТС]     нестатическая ссылка на член должна указываться относительного заданного объекта #5
Спасбо большое! Понял ошибку!
Yandex
Объявления
09.10.2012, 22:39     нестатическая ссылка на член должна указываться относительного заданного объекта
Ответ Создать тему
Опции темы

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