- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
template <class T>
struct SLinkedListNode
{
public:
SLinkedListNode* m_pPrev; ///< Pointer to previous node.
SLinkedListNode* m_pNext; ///< Pointer to next node.
int Initialize();
int Finalize();
};
...
struct SWaiterNode : public SLinkedListNode<SContainerNode>, public SLinkedListNode<SWaiterListNode>
{
...
// container node
struct SContainerNode
{
// no members needed yet (just for masking SLinkedListNode type)
};
// container
struct SContainer
{
public:
SLinkedListNode<SContainerNode>* m_pObjects;
сначала делаем тимплейтный класс, параметр которого никому не нужен, а потом делаем заглушку для этого параметра.
нормально.
guest 19.02.2010 18:38 # +1
pushkoff 19.02.2010 19:52 # 0
наличие говнокода подтверждаю...
guest 19.02.2010 21:39 # 0
guest 20.02.2010 13:44 # 0
не скопмилится
guest 20.02.2010 14:03 # 0
pushkoff 20.02.2010 20:17 # 0
guest 21.02.2010 00:10 # 0
pushkoff 21.02.2010 04:51 # 0
guest 21.02.2010 01:16 # 0
struct SContainer
{
public: