莫非VC++ 6.0 不支持 dynamic_cast
求教 问题点数:100、回复次数:7Top
1 楼micropentium6(小笨|曾经的美好)回复于 2003-06-03 20:39:45 得分 20
你的理由何在?MSDN中有很详细的叙述啊:)
class B { ... };
class C : public B { ... };
class D : public C { ... };
void f(D* pd)
{
C* pc = dynamic_cast<C*>(pd); // ok: C is a direct base class
// pc points to C subobject of pd
B* pb = dynamic_cast<B*>(pd); // ok: B is an indirect base class
// pb points to B subobject of pd
...
}
Top
2 楼darkhawk(黑鹰)回复于 2003-06-03 20:56:54 得分 50
支持的,不过不是默认设置,你在setting中选择C/C++,然后选择C++language,将Enable Runtime Type Identify沟上就可以了Top
3 楼lovelyhawk(小鹰)回复于 2003-06-03 21:20:09 得分 0
ok thanks~Top
4 楼ghtsao(月之暗面)回复于 2003-06-04 04:10:56 得分 10
dynamic_cast 这种转换当然是支持的,不过使用上存在争议,有的专家建议不用。Top
5 楼Chrisma(Chrisma)回复于 2003-06-04 11:29:24 得分 10
建议不用,STL标准类库有更好的方法
Top
6 楼genny(阿健)回复于 2003-06-04 11:56:23 得分 10
楼上的,说来听听啊,是不是traits技法?Top
7 楼lovelyhawk(小鹰)回复于 2003-06-05 13:38:51 得分 0
偶尔用用还是很方便的Top




