C3923

G

Guest

Hi,

I'm porting a MAPI wrapper from the 1.x syntax to the 2.0 .net syntax and am
left with one error:

C3923: 'MyType::{ctor}::_SPropTagArray_myName' : local class, struct or
union definitions are not allowed in a member function of a managed class

The (abbreviated) code that generates this is:

MyType::MyType() // ctor
{
SizedSPropTagArray (3, myName) ;
}

With that code, the macro SizedSPropTagArray defines a new struct named
"_SPropTagArray_myName" with a 3-member array, which the new compiler rejects
because it's in a function.

I haven't tried it yet, but I'm assuming that moving the member up to class
level will solve the problem, but thought I'd see if anyone has come up with
a better solution?

Thanks,

Ken
 
B

Bruno van Dooren

I haven't tried it yet, but I'm assuming that moving the member up to
class
level will solve the problem, but thought I'd see if anyone has come up
with
a better solution?

I haven't had this problem before, but MSDN is very clear and short about
C3923.
You have to move the declaration out of the method, and that should solve
your problem.

--

Kind regards,
Bruno.
(e-mail address removed)
Remove only "_nos_pam"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top