建立一个动态库工程,其中加入三个类,基类CBase,子类ChildA,ChildB,将这个三个类均设为导出类,在应用工程中,用子类A或者B去new基类,但编译无法通过,提示需要强制转换,有没有大鸟知道是什么原因造成的,如何解决?
解决方案 »
- VC2010 编译的时候功能正常,但是直接运行exe不正常了
- 基于对话框的应用程序,按下F1功能键之后出现“找不到D:\…\xxx.HLP。是否亲自查找该文件”,如何屏蔽掉它?
- 关于CGfxOutBarCtrl的疑问
- ActiveX 和COM冲突?
- vc++编程:100分求教!怎样判断word是否被加密?急!!(回答的好,分可再加)
- 制作一个ActiveX控件
- 200求一名字
- delphi dll的调用
- vc中是否有现成的B tree的数据结构
- 我的程序虽使用大量线程,但经检测绝无泄露,但一运行一会儿就只剩0.xM内存,可能是我在线程中大量使用CString 变量吗?
- 怎么对图像中的像素点进行二维插补?
- 用mfc打开一副图像编译没出问题,运行时出现错
CBase *pBase = new ChildA;
有头,用ChildA或B都能调用
error C2440: 'initializing' : cannot convert from 'class ChildA *' to 'class CBase *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
class __declspec(dllexport) Base
{
public:
Base(void);
virtual ~Base(void);
};class __declspec(dllexport) ChildA : public Base
{
public:
ChildA();
virtual ~ChildA();
};class __declspec(dllexport) ChildB : public Base
{
public:
ChildB();
virtual ~ChildB();
};//application#include "../TestClass/Base.h"
#pragma comment(lib, "../Debug/TestClass.lib") Base *p = new ChildA();
delete p;