Проблема с map
От: Radmir Россия  
Дата: 27.04.05 10:58
Оценка:
Есть следующий код

Файл A.h:

#pragma once
#include <map>

using namespace std;

typedef std::pair<long,long> M_ITEM;
typedef std::map <long,long> M_DATA;

class A
{
private:
static M_DATA m_data;

public:
void SetData(long Key, long Data);
A(void);
~A(void);
};

файл A.cpp:

#include "a.h"


A::A(void)
{
}

A::~A(void)
{
}
void A::SetData(long Key, long Data)
{
if (m_data.find(Key) == m_data.end())
{
m_data.insert(M_ITEM(Key,Data));
}
}

компилятор VC 2003 выдает ошибку:

error LNK2001: unresolved external symbol "private: static class std::map<long,long,struct std::less<long>,class std::allocator<struct std::pair<long const ,long> > > A::m_data" (?m_data@A@@0V?$map@JJU?$less@J@std@@V?$allocator@U?$pair@$$CBJJ@std@@@2@@std@@A)

в чем может быть проблема и как ее решить?
Лучше спросить дорогу чем заблудиться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.