I don't know if any of you have encountered anything such as this:
Basically, I have a normal class, but when I add...
...to it, I get a load of compile errors:Code:CMap<UINT8, UINT8, UINT8, UINT8> m_Ids;
Which is so weird. I don't understand why.Code:3>afxtempl.h(1334) : error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject' 3> afx.h(551) : see declaration of 'CObject::CObject' 3> afx.h(522) : see declaration of 'CObject' 3> This diagnostic occurred in the compiler generated function 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::CMap(const CMap<KEY,ARG_KEY,VALUE,ARG_VALUE> &)' 3> with 3> [ 3> KEY=UINT8, 3> ARG_KEY=UINT8, 3> VALUE=UINT8, 3> ARG_VALUE=UINT8 3> ]
The error occours in a compiler generated function to which there is no source, of course. I can comment out everything in the class, but it still won't work.
I can change the types, but it still won't work.
The only way I got it working is moving it to a different class.
The class it's inside is not derived from anything.
I find it weird, and I'm trying to hunt down the error. I'm guessing it's somehow related to its construction.
If anyone has an idea, then I'd appreciate it.
UPDATE: It's the copy constructor, as I suspected.
Causes the error.Code://ERROR GetSetting(const CString& strKey, const CString& strName, CBuffer rBuffer, CBuffer rRetBuf = BufThrowError, CIndex::RegType* const pType = NULL) throw(...);
Guess I'll have to overload a copy constructor to take care of this.
But why oh why didn't the compiler point me to THAT LINE??????
UPDATE2:
Still working on the copy constructor, but having declared it is enough to remove the compile error.
So enjoy yourselves reading this.



LinkBack URL
About LinkBacks


