Войти
ПрограммированиеФорумОбщее

Класс, который знает все свои экземпляры (комментарии) (3 стр)

Страницы: 1 2 3
#30
19:49, 28 июля 2010

Pixar
> http://msdn.microsoft.com/en-us/library/ff381400
хм.. че-то не пойму какой смысл делать класс шаблонным %)

#31
19:54, 28 июля 2010

Nikopol
Я же написал выше в чём проблема. Или нет?

Pixar
> но т.к. HandleMessage(..) находится в protected, приходится объявлять
> WindowProc через friend. А в этом случае вылезают различные ошибки
Или да, но кто-то не читал? =)

====

Вощем, я тупо скопировал части примера с msdn, не разобравшись в чём дело. Зато теперь всё работает.

#32
20:45, 28 июля 2010

Pixar
> не разобравшись в чём дело
вот твоя ошибка

#33
21:03, 28 июля 2010

Nikopol
> вот твоя ошибка
Ну, так а кто мне помог?

#34
22:54, 28 июля 2010

Pixar
Если бы ты описал свою проблему нормально, а не в духе "не работает", то помогли бы.

#35
22:58, 28 июля 2010

Nikopol
см. пост №24

#36
23:00, 28 июля 2010

Pixar
Это не описание проблемы, а плач какой-то.
Нифига не понятно, что ты хочешь сделать, и почему пишешь такой уродливый код.

#37
23:33, 28 июля 2010

Nikopol
Это код с msdn. Кто виноват, что они пишут уродство? :) Ну, вощем я не буду больше в этот способ углубляться. В принципе, я с ним разобрался.

#38
0:23, 29 июля 2010

Pixar
> Это код с msdn. Кто виноват, что они пишут уродство? :) Ну, вощем я не буду
> больше в этот способ углубляться. В принципе, я с ним разобрался.
Люди думающие что они дофига профессионалы так и говорят всегда "Кто виноват, что они пишут уродство?". Кто виноват, что вы думаете, что вы - дофига профессионалы?

#39
1:33, 29 июля 2010

Я только узнал, что через this доступны и protected, и private члены. Значит косяк был в другом. Скорее всего опечатался, хотя хз.

#40
2:02, 26 авг 2010

Подскажите как определить эту переменную за пределами класса:
static std::list<  ClassWhoKnowsAllHisInstances* > classList;

#41
23:46, 27 авг 2010

Код приведенный в первом посте выдает следующую ошибку:
error LNK2001: unresolved external symbol "private: static class std::list<class ClassWhoKnowsAllHisInstances *,class std::allocator<class ClassWhoKnowsAllHisInstances *> > ClassWhoKnowsAllHisInstances::classList" (?classList@ClassWhoKnowsAllHisInstances@@0V?$list@PAVClassWhoKnowsAllHisInstances@@V?$allocator@PAVClassWhoKnowsAllHisInstances@@@std@@@std@@A)

Цитирую Джесса Либерти: не забывайте отдельно определять статическую переменную-член класса. В противном случае редактор связей во время компиляции программы выдаст следующее сообщение об ошибке: undefined symbol.

Судя с полученной ошибки при компиляции могу ли я утверждать что использование статических контейнеров в классах запрещено ?

#42
7:56, 28 авг 2010

skupchenko
пишеш в cpp файле

std::list<  ClassWhoKnowsAllHisInstances* > ClassWhoKnowsAllHisInstances::classList;

all
Лучше в классе ClassWhoKnowsAllHisInstances запоминать std::list::iterator и в деструкторе удалять итератор, тогда не нужен поиск, std::set тем более здесь не к месту.

Страницы: 1 2 3
ПрограммированиеФорумОбщее

Тема в архиве.