Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error C2220: warning treated as error - no 'object' file generated

I have below class

class Cdata12Mnt { public:     char IOBname[ID1_IOB_PIOTSUP-ID1_IOB_TOP][BOADNAM_MAX + 4];     char ExIOBname[ID1_MAX_INF-ID1_EXIOB_U1TOP][BOADNAM_MAX + 4];     char cflpath[256];     char basetext[256];     UINT database[ID1_MAX_INF];     int State;  public:     char SelectPath[256];  public:     int GetIOBName(int slt,char *Name);     Cdata12Mnt(char *SelectPath);     virtual ~Cdata12Mnt();     int     GetValue(int id);     int     GetState() { return State; } }; 

And I have function as below

Cdata12Mnt::Cdata12Mnt(char *SelectPath) {     SCTReg  reg;     char    buf[256], *cpnt, *npnt, *bpnt1, *bpnt2;     char    *startcode[] = {"CNTL_CODE ","SEGMENT "};     char    *stopcode    = {"END_CNTL_CODE "};     FILE    *fp;     int     ii, infl;      State = 0;      for (ii = 0; ii < (ID1_IOB_PIOTSUP - ID1_IOB_TOP); ii++) {         strcpy(IOBname[ii], "");     }      for (ii = 0; ii < (ID1_MAX_INF-ID1_EXIOB_U1TOP); ii++) {         **strcpy(ExIOBname[ii], "");**     }      sprintf(cflpath, "%s\\%s", SelectPath, CDATAFL);      if ((fp = fopen(cflpath,"r"))!=NULL) {         for (ii = 0, infl = 0; fgets(buf, 256, fp) != NULL;) {             if (infl == 0 && strncmp(buf, startcode[0], strlen(startcode[0])) == 0) {                 if ((cpnt = strchr(&buf[strlen(startcode[0])],*startcode[1])) != NULL) {                     if (strncmp(cpnt,startcode[1], strlen(startcode[1])) == 0) {                         infl = 1;                         continue;                     }                 }             }              if (infl == 0) {                 continue;             }              if (strncmp(buf,stopcode,strlen(stopcode))==0) {                 if (ii == ID1_EXIOB_U1TOP) {                     for (int nDataNumber = ii; nDataNumber < ID1_MAX_INF; nDataNumber++) {                         database[nDataNumber] = 0;                     }                 }                  infl = 0;                 continue;             }              if (strncmp(&buf[14], " DD ", 4) == 0) {                 if ((cpnt=strchr(buf, ';')) != NULL) {                     *cpnt = '\0';                 }                  if (ii >= ID1_IOB_TOP && ii < ID1_IOB_PIOTSUP) {                     if ((bpnt1 = strchr(cpnt + 1,'(')) != NULL && (bpnt2=strchr(cpnt + 1,')'))!=NULL && bpnt1 < bpnt2) {                         *bpnt2 = '\0';                         *(bpnt1 + BOADNAM_MAX + 1) = '\0';                         strcpy(IOBname[ii-ID1_IOB_TOP], bpnt1 + 1);                     }                 }                  if (ii >= ID1_EXIOB_U1TOP && ii < ID1_MAX_INF) {                     if ((bpnt1 = strchr(cpnt + 1, '(')) != NULL && (bpnt2=strchr(cpnt+1,')'))!=NULL && bpnt1 < bpnt2) {                             *bpnt2='\0';                             *(bpnt1+BOADNAM_MAX+1)='\0';                             strcpy(ExIOBname[ii-ID1_EXIOB_U1TOP], bpnt1 + 1);                     }                 }                  for (cpnt = &buf[18]; cpnt != NULL;) {                     if ((npnt=strchr(cpnt, ',')) != NULL)                         *npnt='\0';                 }                  if (strchr(cpnt,'H')!=NULL) {                     sscanf(cpnt,"%XH",&database[ii]);                 } else {                     database[ii]=atoi(cpnt);                 }                  ii++;                 cpnt = npnt;                  if (cpnt != NULL) {                     cpnt++;                 }             }         }     }      fclose(fp); } else {     State=-1; } 

When I compile this function in Visual studio 2008, it gives me error at strcpy(IOBname[ii],""); as below

error C2220: warning treated as error - no 'object' file generated

How to fix this error?

like image 739
TrungLuu Avatar asked Aug 14 '13 07:08

TrungLuu


1 Answers

The error says that a warning was treated as an error, therefore your problem is a warning message! The object file is then not created because there was an error. So you need to check your warnings and fix them.

In case you don't know how to find them: Open the Error List (View > Error List) and click on Warning.

like image 73
Nym Anno Avatar answered Oct 05 '22 15:10

Nym Anno