![]() |
|
Модераторы: bsa |
![]()
|
|
| izoomer |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
описал в заголовочном файле jmix.h
а когда пытаюсь использовать :
ругается что : JMixer.cpp:168: ошибка: ‘class jmix’ has no member named ‘name’ JMixer.cpp:169: ошибка: ‘class jmix’ has no member named ‘volume’ JMixer.cpp:170: ошибка: ‘class jmix’ has no member named ‘mute’ JMixer.cpp:173: ошибка: ‘class jmix’ has no member named ‘name’ подскажите как правилньо определить структуру .. что я не так делаю? |
||||
|
|||||
| Avaj |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 14.7.2008 Где: Владивосток. Репутация: 1 Всего: 3 |
убери typedef.
Это сообщение отредактировал(а) Avaj - 20.2.2009, 13:11 |
|||
|
||||
| izoomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
убрал, тот же эффект, таже ошибка |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
mixer[i]->name Это сообщение отредактировал(а) mes - 20.2.2009, 13:40 |
|||
|
||||
| izoomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
упс.. не заметил, что
тогда : (*mixer)[i]->name Это сообщение отредактировал(а) mes - 20.2.2009, 13:43 |
|||
|
||||
| izoomer |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
все равно не хочет JMixer.cpp:168: ошибка: нет подходящей функции для вызова ‘JSlider::setTitle(<unresolved overloaded function type не пойму почему mixer[i] пытается вернуть jmix а не channel ... описано ведь четко :
[] возвращает то channel ... Это сообщение отредактировал(а) izoomer - 20.2.2009, 13:58 |
||||
|
|||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
потому что mixer у Вас указатель и operator [] применяется к нему, расценивая что Вы рассматриваете этот указатель, как указатель на массив. и как следствие возвращает объект типа jmix. Чтоб воспользоваться переопределенным оператором[] класса: нужно разыменовать указатель так (*mixer)[..] или так mixer->operator[](..)
а Вы случайно после name не поставили скобки ? если нет, то покажите эту строчку . и еше у std::list нет прямого доступа к элементам. можно заменить list на vector. |
||||
|
|||||
| izoomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
нет , скобки не ставил bar->setTitle(mixer[i].name); А вот что пишет когда разименовываю: JMixer.cpp:168: ошибка: запрос элемента ‘name’ в ‘((JMixer*)this)->JMixer::mixer->jmix::operator[](i)’, имеющего не классовый тип ‘channel' Это сообщение отредактировал(а) izoomer - 20.2.2009, 16:00 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| izoomer |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
Исправил на: bar->setTitle((*mixer)[i]->name); и вот что стал писать: JMixer.cpp:168: ошибка: запрос элемента ‘name’ в ‘((JMixer*)this)->JMixer::mixer->jmix::operator[](i)’, имеющего не классовый тип ‘channel' |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
значит походу еще чего то изменили, чего нам не показали..
вот Ваш укороченный пример - все компилится - так что ищете что где не так изменяли
Это сообщение отредактировал(а) mes - 20.2.2009, 20:54 |
|||
|
||||
| izoomer |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
Странно конечно, но почему то прямая инструкция (*mixer)[i].name ругается так же , а когда делаю:
то все ок . В чем разница ? |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |