问题描述
类SORef {...};
class SelectedFORef:public SORef {...};
SOFORef SOCastToSOF(SORef sor){
SelectedFORef sof = nil;
sof = dynamic_cast< selectedFORef>(sor);
返回sof;
};
我遇到一个问题,即sor没有被转换为sof(变为零)
即使sor是下面的SelectedFORef。 (我有一个调试方法
详细内容和类型)。
我不是C ++专家。
什么是我做错了吗?
Mark
class SORef {...};
class SelectedFORef : public SORef {...};
SOFORef SOCastToSOF(SORef sor) {
SelectedFORef sof=nil;
sof=dynamic_cast<SelectedFORef>(sor);
return sof;
};
I am getting a problem where sor is not being cast to sof (becomes nil)
even though sor IS a SelectedFORef underneath. (I have a debug method
with details contents and type).
I am not a C++ expert.
What am I doing wrong?
Mark
推荐答案
什么是零?
-
Ian Collins。
What''s nil?
--
Ian Collins.
什么是零?
What''s nil?
nil == NULL。
Pascal版本的NULL。
nil == NULL.
Pascal version of NULL.
什么是零?
What''s nil?
nil == NULL。
Pascal版本的NULL。
nil == NULL.
Pascal version of NULL.
然后为什么隐藏它?你不能将NULL赋给一个类对象,只能指定一个指针。
你不能将dynamic_cast应用于类对象,只能引用一个
指向一个。
-
Ian Collins。
Then why hide it? You can''t assign NULL to a class object, only a pointer.
You can''t apply a dynamic_cast to a class object, only a reference of a
pointer to one.
--
Ian Collins.
这篇关于为什么不演这个?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!