|
От: |
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)
в чем может быть проблема и как ее решить?
Лучше спросить дорогу чем заблудиться
Пока на собственное сообщение не было ответов, его можно удалить.