Declaring only public class members - doesn't work

From: Chee Liang (cheeliang_at_DIESPAM.iname.com)
Date: 04/12/04


Date: Mon, 12 Apr 2004 11:34:17 +0800

Hi all,

I was writing some C++ class stuff in VC. After adding a strcpy(),
whenever the program is exiting I receive a "Unhandled exception: user
breakpoint". Growl, I traced assembly line by line, spend one night
wondering why my strcpy() is overwriting data space. But I couldn't
find anything!

When I replace a header file which exports the class declaration as

class xxx{
        public:
                xxx
}

with the whole declaration

class xxx{
        public:
        protected:
        private:
}

everything falls in place. Big Oops!

So I gather we are not allowed to declare just the public members when
exporting? Are there any other ways to hide private declarations?

Thanks a bunch!



Relevant Pages

  • Re: Declaring only public class members - doesnt work
    ... Growl, I traced assembly line by line, spend one night ... > wondering why my strcpy() is overwriting data space. ... > When I replace a header file which exports the class declaration as ...
    (comp.lang.cpp)
  • Re: Segmentation fault on 64 bit
    ... invoking strcpy(), which is UB. ... and if no declaration is visible for this identifier, ... and use it without including its associated header. ...
    (comp.lang.c)
  • Re: error C2375: strcpy : redefinition; different linkage
    ... 'strcpy': redefinition; different linkage ... It looks like we end up including the declaration of strcpyfrom both the ... C2375: 'strcpy': redefinition; different linkage ...
    (microsoft.public.vc.language)
  • Re: Sandard dll
    ... __declspecis redundant with, and possibly even in conflict with, the EXPORTS ... declaration in the .def file. ... declaration above uses CDECL linkage, ... indicating that the function is a __stdcall linkage with 0 bytes ...
    (microsoft.public.vc.mfc)
  • Re: CLR and CreateFile w/ FILE_FLAG_DELETE_ON_CLOSE causes FileLoadException
    ... assemblies use metadata instead of the Win32 PE exports table, ... compiler creates mixed-mode assemblies, but you used the MSIL assembler. ... declaration and uses that. ... "The ILAsm syntax for declaring a method as an unmanaged export is ...
    (microsoft.public.dotnet.framework.clr)