一个古怪的问题
gigix 2002-03-13 05:26:40 下面是一个DLL完整的代码:
// a.h
#ifdef EXPORTS
#define SDKAPI __declspec(dllexport)
#else
#define SDKAPI __declspec(dllimport)
#pragma comment(lib, "Test00Dll.lib")
#endif
SDKAPI void A(map<string,string,less<string> > *b);
//a.cpp
#include <map>
#include <string>
using namespace std;
#include "a.h"
SDKAPI void A(map<string,string,less<string> > *b)
{
b->insert(map<string,string,less<string> >::value_type("4","s"));
}
EXE的代码如下:
#include <string>
#include <map>
using namespace std;
#if defined (ERROR)
#include "a.h"
#endif
#if defined (RIGHT)
void A(map<string,string,less<string> > *b)
{
b->insert(map<string,string,less<string> >::value_type("4","s"));
}
#endif
void main(){
map<string, string,less<string> > a;
A(&a);
}
请各位看看,把代码拷回去试验一下。我和恶魔都遇到了奇怪的问题。
编译环境:VC 6,不连接MFC