几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » DirectDWG
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-05-04, 02:45 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】net 2003 compile error with 1.10 exgsopenglvectorizedevice

.net 2003 compile error with 1.10 exgsopenglvectorizedevice.
.net 2003 compile error with 1.10 exgsopenglvectorizedevice.cpp
in the exgsopenglvectorizeview::rasterimageproc function is the following line:
odgiconveyorcontext* pctx = odgibasevectorizer::drawcontext();
which causes the following error:
dd_nonlibs\examples\exrender\win\exgsopenglvectori zedevice.cpp(367) : error c2248: 'odgiconveyorcontext' : cannot access inaccessible class declared in class 'exgsopenglvectorizeview'
\dd_nonlibs\include\gi\giconveyorgeometry.h(42) : see declaration of 'odgiconveyorcontext'
dd_nonlibs\examples\exrender\win\exgsopenglvectori zedevice.h(42) : see declaration of 'exgsopenglvectorizeview'
the fix is to use the scope operator. so, here抯 what the fixed line looks like:
:dgiconveyorcontext* pctx = odgibasevectorizer::drawcontext();
here抯 part of the c2248 error description:
揟his error can also be generated as a result of compiler conformance work that was done for visual studio .net 2003: private base classes now inaccessible. a class (a) that is a private base class to a type (b) should not be accessible to a type (c) that uses b as a base class.?br />
if you follow the inheritance tree, exgsopenglvectorizeview is derived from odgibasevectorizer, which is derived from 損rivate odgiconveyorcontext?
thanks for posting this, i was having that compilation error in .net 2003 and still trying to get it fixed !!
dawson
hi all,
to fix it use next line:
odgiconveyorcontext* pctx = ::fff">odgibasevectorizer::drawcontext();
instead of:
odgiconveyorcontext* pctx = odgibasevectorizer::drawcontext();
i just tried that fix. it results in the same error. odgiconveyorcontext is what needs to be scoped.
use
::fff">odgiconveyorcontext* pctx = odgibasevectorizer::drawcontext();
instead of:
odgiconveyorcontext* pctx = odgibasevectorizer::drawcontext();
here抯 the example from .net 2003抯 description of the c2248 error code.
// c2248c.cpp
// compile with: /ld
struct a
{
};
struct b: private a
{
};
struct c: b
{
void f()
{
a *p1 = (a*) this; // c2248
::a *p2 = (::a*) this; // ok
}
};
adding odgibasevectorizer as friend seems to alleviate this one:
class odgiconveyorcontext
{
public:
friend class odgibasevectorizer;
virtual odgicontext& gicontext() const = 0;
virtual odgisubentitytraits& subentitytraits() const = 0;
virtual const odgisubentitytraitsdata& effectivetraits() const = 0;
virtual const odgidrawabledesc* currentdrawabledesc() const = 0;
virtual const odgidrawable* currentdrawable() const = 0;
virtual const odgiviewport* giviewport() const = 0;
virtual const odgsview* gsview() const = 0;
};
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 05:40 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多