[tuhopuu-devel] KX_PolygonMaterial MSVC6 compiler issue

Bjornmose tuhopuu-devel@blender.org
Thu Aug 12 20:40:46 CEST 2004


Hi kester,
Sorry to bug you again, but

a.)
msvc6 stumbles at:
...\source\gameengine\Ketsji\KX_PolygonMaterial.cpp(375) : error C2248:
'AMBIENT' : cannot access private enumerator declared in class
'KX_PolygonMaterial'
...\gameengine\Ketsji\KX_PolygonMaterial.h(69) : see declaration of
'AMBIENT'

It is the constructor
class KX_PolygonMaterial::Private
....
 Private()
  : m_shader(0),
  m_lightpass(0),
here-->  m_lightstate(KX_PolygonMaterial::AMBIENT)
 {
 }


for a test i moved the "enum LightState"
to the public declarations in class KX_PolygonMaterial

Then it compiles and runs here.
The enum is still in KX_PolygonMaterial namespace so
i'd think i won't hurt to do so. May be some "friend"lyness would help
too .. dunno..

b.)
The compiler gives loads of:
..\..\..\..\source\gameengine\Rasterizer\RAS_MaterialBucket.h(70) :
warning C4099: 'KX_MeshSlot' : type name first seen using 'struct' now
seen using 'class'

..\..\..\..\source\gameengine\Rasterizer\RAS_IPolygonMaterial.h(121) :
see declaration of 'KX_MeshSlot'

class RAS_IPolyMaterial
....
here is one --> virtual void ActivateMeshSlot(RAS_IRasterizer* rasty,
const struct
KX_MeshSlot &ms) const { }

vs.
RAS_MaterialBucket.h --> class KX_MeshSlot....

compiles and runs ATM but "smells"

Ole (Jens Ole Wund) AKA bjornmose
bjornmose at gmx dot net




More information about the tuhopuu-devel mailing list