Click here to Skip to main content
15,885,278 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
C#
int rtg_qty=0;
int vtg_qty=0;
int first_qty=0;
int next_qty=0;
int loaded_qty=0;
int preset_qty=0;
int balance=0;
char    buffer[20];
char buf[25];
CString eProd;
    if( !strncmp(Reply,"RT G",4) ){
        memset(buffer,0x00,sizeof(buffer));
        strncpy(buffer,&Reply[14],9);
        rtg_qty = atol(buffer);
        if( rtg_qty ) {
            first_qty = accu_ptr->lFirstQty;
            next_qty = accu_ptr->lNextQty;

            if( next_qty < first_qty )
                vtg_qty = (1000000000 - first_qty) + next_qty;
            else
                vtg_qty = next_qty - first_qty;

            loaded_qty = vtg_qty + rtg_qty;

            accu_ptr->lLoadedQty = loaded_qty;
            trk_ptr->lLoadedQty[accu_ptr->cCompNo-1] = loaded_qty + accu_ptr->lLastBatchQty;
            eProd = trk_ptr->iaProdType[accu_ptr->cCompNo - 1];
             //accu_ptr->shAvgTemp = 0;
             if(eProd == 17840 || eProd == 17600 || eProd == 17860 || eProd == 17400)
            {
                accu_ptr->shAvgTemp = ((accu_ptr->lLoadedQty / 100) * 5);
            }
    //      sprintf(buf,"%d",accu_ptr->lLoadedQty);
    //      AfxMessageBox(buf);
        }
        accu_ptr->shAcculoadState++;
    }
    else{
        accu_ptr->shAcculoadState--;
    }

    preset_qty = accu_ptr->lToLoadQty;
    balance    = preset_qty - trk_ptr->lLoadedQty[accu_ptr->cCompNo - 1];
    sprintf(accu_ptr->caDispMsg,"%6ld LIT P%6ld %6ld",trk_ptr->lLoadedQty[accu_ptr->cCompNo-1],preset_qty,balance);
    accu_ptr->fpercentage = ((float)trk_ptr->lLoadedQty[accu_ptr->cCompNo - 1] / (float)trk_ptr->lPresetQty[accu_ptr->cCompNo - 1]) * 100;
    trk_ptr->fpercentage [accu_ptr->cCompNo - 1] = accu_ptr->fpercentage ;
//  accu_ptr->shLoadedPercent = ((float)trk_ptr->lLoadedQty[accu_ptr->cCompNo - 1] / (float)trk_ptr->lPresetQty[accu_ptr->cCompNo - 1]) * 100;
//  trk_ptr->shLoadedPercent [accu_ptr->cCompNo - 1] = accu_ptr->shLoadedPercent ;
    return;
}

while compiling this code in VS2010 it Show following comiling error in the underlined line.
1) warning C4309: 'argument' : truncation of constant value
2)error C2593: 'operator =' is ambiguous(more than one operand "=" does not matches
Posted

1 solution

Quote:
f(eProd == 17840 || eProd == 17600 || eProd == 17860 || eProd == 17400)
Well you are comparing apples with oranges: eProd is a string, while the other operands are integer, I really don't know why VC6.0 allowed that (if it did).
 
Share this answer
 
Comments
Maciej Los 23-May-14 5:59am    
+5!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900