how to pass smart pointes to function.

From: lokb (lokeshbabu_ms_at_rediffmail.com)
Date: 07/08/04


Date: Thu, 08 Jul 2004 16:06:29 -0400

Hi,
   I have a structure which and defined a smart pointer to the structure.

/* Structure of Begin Document Index Record */
typedef struct BDI_Struct{
  unsigned char rname;
  unsigned short int rlen;
  int code;
  short int reserved;
  char indexName[9];
  unsigned char tripLen;
  unsigned char tripCode;
  TRIPLET01 t01;
  }BDIStruct;

/* Structure of Index Element Record */
typedef struct record{
  unsigned char rname;
  unsigned short int rlen;
  int code;
  short int reserved;
  unsigned char tripLen;
  unsigned char tripCode;
  union
  {
   TRIPLET01 t01;
   TRIPLET57 t57;
   TRIPLET2D t2D;
   TRIPLET36 t36;
   TRIPLET02 t02;
   TRIPLET80 t80;
   TRIPLETGEN tgen;
  }TRec;
  }IndexStruct;

Defined the smart pointer as below:
where ObjVar returns the pointer.
  typedef ObjVar<IELStruct> IELStruct_sptr;
  typedef ObjVar<BDIStruct> BDIStruct_sptr;

Now when i am passing the smart pointers to the function i get compilation
errors
 I am passing the smart pointers as

int vValidateIndModcaFile(ObjVar<BDIStruct>& bdirec,ObjVar<IndexStruct>&
ielrec);

Is it the right way to pass the smart pointers.

Could you plz guide me.

I am getting the erros like

"/vpapp/accenture/ISIXRelease1206302004/include/sptr.hpp", line 68.11:
1540-1101 (W) A return value of type "BDI_Struct *" is expected.
"/vpapp/accenture/ISIXRelease1206302004/include/sptr.hpp", line 63.12:
1540-0700 (I) The previous message was produced while processing
"ObjVar<BDI_Struct>::operator->()".
"IndOutModcaParser.cpp", line 1814.5: 1540-0700 (I) The previous message
was produced while processing
"CIndOutModcaParser::vValidateIndModcaFile(ObjVar<BDI_Struct> &,
ObjVar<record> &)".
"/vpapp/accenture/ISIXRelease1206302004/include/sptr.hpp", line 68.11:
1540-1101 (W) A return value of type "record *" is expected.
"/vpapp/accenture/ISIXRelease1206302004/include/sptr.hpp", line 63.12:
1540-0700 (I) The previous message was produced while processing
"ObjVar<record>::operator->()".
"IndOutModcaParser.cpp", line 1814.5: 1540-0700 (I) The previous message
was produced while processing
"CIndOutModcaParser::vValidateIndModcaFile(ObjVar<BDI_Struct> &,
ObjVar<record> &)"

Thanks,
Lokb



Relevant Pages

  • [EXPL] Windows SMB Nuker
    ... unsigned char error_class; ... int len; ... negotiate_protocol (unsigned char *buffer, int fd) ...
    (Securiteam)
  • Re: how to pass smart pointes to function.
    ... > typedef struct BDI_Struct{ ... > unsigned short int rlen; ... > unsigned char tripLen; ... > Now when i am passing the smart pointers to the function i get compilation ...
    (comp.lang.cpp)
  • Re: access violation
    ... I didn't find any access violation on running your code in VC 6.0 compiler. ... typedef struct tagTIMESTAMP_STRUCT ... unsigned int fraction; ... > unsigned char u8; ...
    (microsoft.public.vc.language)
  • Re: how to pass smart pointes to function.
    ... > typedef struct BDI_Struct{ ... > unsigned short int rlen; ... > unsigned char tripLen; ...
    (comp.lang.cpp)
  • [NT] Ipswitch Instant Messaging Multiple Vulnerabilities
    ... unsigned char key) ... des_crypt_ecb(ctx, output, output); ... int tcp_recv(int sd, u8 *buff, int len); ...
    (Securiteam)