Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject' [duplicate]

Tags:

c++

mfc

Possible Duplicate:
error using CArray

Duplicate : error using CArray


so, i am trying to use CArray like this :

   CArray<CPerson,CPerson&> allPersons;
   int i=0;
   for(int i=0;i<10;i++)
   {
      allPersons.SetAtGrow(i,CPerson(i));
      i++;
   }

but when compiling my program, i get this error :

"error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject' c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxtempl.h"

I don't even understand where this is coming from.

HELP !

like image 681
Attilah Avatar asked Nov 29 '22 00:11

Attilah


1 Answers

The problem is that you're constructing a CObject on the stack. Somewhere in your program you're attempting to pass a reference to a CArray object but you accidentally left out the "&" in the function prototype. For example:

void DoFoo(CArray cArr)
{
    // Do something to cArr...
}

^^^ The code above will cause the error you're having.

void DoFoo(CArray & cArr)
{
    // Do something to cArr...
}

^^^ The code above will not cause the problem.

like image 148
Gixxernaut Avatar answered Dec 09 '22 14:12

Gixxernaut