iCAx开思网
标题:
CAA变量类型转换
[打印本页]
作者:
liuruixiao205
时间:
2005-4-24 13:16
标题:
CAA变量类型转换
我用下面的句子得到一个点:
CATIGSMPointCoord_var spPoint=_pFact->CreatePoint(x1,y1,z1);
想把它转换为 CATISpecObject_var 型,用这个语句
CATISpecObject_var spPoint1(spPoint);
怎么老是报错,我想调用Update函数,应该怎么做
作者:
nctusdk
时间:
2005-4-25 00:59
應該不是錯在這吧
你寫的沒錯啊
是Compile-Time Error還是Runtime Error啊?
Compile-Time Error-->也許你少include了什麼東西?
Runtime Error-->也許Update失敗丟出了Exception?
SDK.
作者:
liuruixiao205
时间:
2005-4-26 09:29
我感觉也是,很多都是直接复制的。
CATBaseUnknown * pLastPathElement;
pLastPathElement=_daPathElement->GetElementValue();
spPoint1=pLastPathElement;
还有这个也报错说不能从CATBaseUknown 类型转换为CATPoint_var类型。我只是把别人的原程序的CATSurface换为了CATPoint类型就错了。哪位高手能指点一下这两个的原因
错误:cannot convert from 'class CATBaseUnknown *' to 'class CATPoint *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
作者:
liuruixiao205
时间:
2005-4-26 09:47
谢谢nctusdk兄,第一个就是你说的错误。
但第二个好像不是。错误出在用MKMK编译的时候。
作者:
liuruixiao205
时间:
2005-4-26 17:01
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
应该是这个原因,但我不太懂是什么意思,应该怎么改。
作者:
liuruixiao205
时间:
2005-4-27 09:54
等待中......................
作者:
nctusdk
时间:
2005-4-29 09:20
cannot convert from 'class CATBaseUnknown *' to 'class CATPoint *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
這代表...你搞錯了...@@
你的spPoint不是一個smart pointer...也就是說他不是CATPoint_var型別喔
而是CATPoint*型別
所以不可以直接硬轉
因為在CAA中指個同一個object的每一個interface的instance指標可能是不同的
請用QueryInterface或是把spPoint改成Smart Pointer
CATPoint *pPoint1 = NULL;
...
CATBaseUnknown * pLastPathElement;
pLastPathElement=_daPathElement->GetElementValue();
...
pLastPathElement->QueryInterface(IID_CATPoint,(void**)[$pPoint)]
或是
CATPoint_var spPoint = NULL_var;
...
CATBaseUnknown * pLastPathElement;
pLastPathElement=_daPathElement->GetElementValue();
...
spPoint = pLastPathElement;
SDK.
作者:
liuruixiao205
时间:
2005-4-30 15:47
谢谢nctusdk兄
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3