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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определение static члена 
V
    Опции темы
NewDima
Дата 15.2.2009, 12:44 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



у меня следующая цель: создаются несколько экземпляров одного и того же класса. В классе определен массив по сути для настроек. Я хочу сделать так, чтобы для первого экземпляра устанавливать значение этих настроек в массиве, а остальные его использовали. На сколько я знаю, для этого используется оператор static.
Реализация следующая
Код


class QFileItem : public QWidget
{
public:
   ...
    static QBrush brushes[];
};

QBrush QFileItem::brushes[unexistedBrush] =
        {
        QBrush(0x505050),
        QBrush(0x353535),
        QBrush(0x505050),
        QBrush(0x808080)
        };


а он ругается на множественное объявление (multiple definition)/
Что я делаю неправильно?
PM ICQ   Вверх
Annihilator
Дата 15.2.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


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

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



Странно. У меня работает. А зачем тебе unexistedBrush ведь и так понятно что 4 кисти


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
mes
Дата 15.2.2009, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



вынесите определение static массива в cpp-файл


--------------------
PM MAIL WWW   Вверх
NewDima
Дата 15.2.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



Цитата(Annihilator @ 15.2.2009,  21:34)
А зачем тебе unexistedBrush ведь и так понятно что 4 кисти

я использую так:
Код

enum brushType {
        aBackgroundBrush, //activated background brush
        dBackgroundBrush, //deactivated background brush
        aForegroundBrush, //activated foreground brush
        dForegroundBrush, //deactivated foreground brush

        unexistedBrush
    };

по-этому когда буду добавлять еще, мне не придется исправлять каждый раз 4 на 5, 5 на 6 и т.д, чтобы об этом не думать. Я просто вставлю новый член перед unexistedBrush, по-моему так удобно.

mes, спасибо, сделал так, действительно перестал материться на это, но теперь ругается, что не может найти QFileItem::brushes, почему?

PM ICQ   Вверх
NewDima
Дата 15.2.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



все, разобрался)
просто столько успел за это время перепробовать, что забыл поменять
Код

QBrush QFileItem::*brushes = NULL;
 на
Код

QBrush* QFileItem::brushes = NULL;
 обратно.
mes, спасибо
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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