Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает функция в статической функции 
:(
    Опции темы
DissDoc
Дата 17.1.2011, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Всем привет! 
У меня такая ситуация. Есть класс. в котором функция является статической. И есть класс, проинициализированный в конструкторе. Если в двух словах
Код

class Test
{
public:
    //.....................
    static void func();
private:
    CInner* Inner;
};

Далее хочу класс Inner вписать в функцию. Получается что-то вроде
Код

void Test::func()
{
    Inner->some_func();
}

В результате получаю ошибку
a nonstatic member reference must be relative to a specific object
P.S. Класс Inner инициализирую естессно в конструкторе класса Test
PM MAIL WWW   Вверх
azesmcar
Дата 17.1.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Объект Inner в статической функции недоступен. В статическую функцию не передается this. Либо убирай static, либо вызов, либо передавай в функцию указатель на объект Test, для которого хочешь вызвать some_func.
PM   Вверх
baldina
Дата 17.1.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(azesmcar @  17.1.2011,  11:00 Найти цитируемый пост)
либо передавай в функцию указатель на объект Test, для которого хочешь вызвать some_func. 

ну тогда уж проще и логичнее делать функцию нестатической
PM MAIL   Вверх
azesmcar
Дата 17.1.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(baldina @  17.1.2011,  14:16 Найти цитируемый пост)
ну тогда уж проще и логичнее делать функцию нестатической 

Ну вообще да, этот вариант я тоже предложил, но мало ли.. smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0684 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.