error C2683: dynamic_cast : “k1”不是多态类型 哭了!该如何解决

error C2683: dynamic_cast : “k1”不是多态类型哭了!!!!classk1{}classk2:publick1{}int_tmain(intargc,

error C2683: dynamic_cast : “k1”不是多态类型 哭了!!!!
class   k1
{
};
class   k2   :   public   k1
{
};
int   _tmain(int   argc,   _TCHAR*   argv[])
{  
k1   *p   =   new   k2();
k2   *pp   =   dynamic_cast <k2*> (p);
}
---------------------------
几乎照抄msdn上的例子     怎么还出错

[解决办法]
给k1加个虚拟函数
[解决办法]
出错信息不是已经说得很清楚了嘛。认真看信息,实在不行就在出错信息上按F1
[解决办法]
class k1
{
public:
virtual ~k1(){}
};
class k2 : public k1
{
};
int _tmain(int argc, _TCHAR* argv[])
{
k1 *p = new k2();
k2 *pp = dynamic_cast <k2*> (p);
}