#if defined(_DEBUG)
#define X_EXPORT __declspec(dllexport)
#else
#define X_EXPORT __declspec(dllimport)
#endifclass X_EXPORT TestIn
{
public:
void Get( void ){};
};class X_EXPORT TestOut
{
public:
void Get( void );
};void TestOut::Get( void ){};// warning C4273: “TestOut::Get” : dll 链接不一致
// 为什么会这样子呢?
// 这是一个 DLL 工程
// 当将类的功能实现提到外面去就会出现这个警告, 而在内部就不会
// 如何将这个警告去掉呢, 不要告诉我使用#pragma warning(disable:4273)// 谢谢各位大大侠
{
public:
void Get( void );
};void TestOut::Get( void ){};在VC6.0下面这样子是不会出警告的(在头文件里面定义)如果是这样子的话,一样还是会出警告的
// testout.h
class X_EXPORT TestOut
{
public:
void Get( void );
};// testout.cpp
void TestOut::Get( void ){};这与VC或VC.NET应该是没有关系的吧。
怎么都来不会VC.NET呀..................................-________________-在VC++6.0里面也是一样的呀, 一样会出现这种问题的......
char __declspec(dllimport) c;
char c; // C4273, delete this line or the line above to resolveint main()
{
}
class X_EXPORT TestOut
{
public:
void Get( void );
};// testout.cpp
void TestOut::Get( void ){};////////////////////////////////
绝对绝对没有在别的地方声明过这个类...
所以~~~~~~~这段提示是.NET MSDN里面的, 我看过了, 我新建一个工程出来做试验也是没有通过
__declspec(dllexport) 使用这种方式就不会出警告
__declspec(dllimport) 使用这种方式就会出警告还请大侠再帮忙看看, 谢谢了
thx~~~~~~~~