Ignore:
Timestamp:
Oct 14, 2007, 9:41:03 PM (17 years ago)
Author:
dai_9181
Message:

インターフェイスを実装

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/OperatorProc.cpp

    r342 r350  
    2828}
    2929
    30 int CallOperatorProc(int idCalc, const Type &baseType, int *type_stack,LONG_PTR *index_stack,BOOL *bUseHeap,int &sp){
     30int CallOperatorProc(int idCalc, const Type &baseType, int *type_stack, LONG_PTR *index_stack,BOOL *bUseHeap,int &sp)
     31{
     32    Type leftType( type_stack[sp-2], index_stack[sp-2] );
     33    Type rightType( type_stack[sp-1] & (~FLAG_CAST), index_stack[sp-1] );
     34
    3135    //オーバーロードされたオペレータ関数を呼び出す
    32     CClass *pobj_c;
    33     pobj_c=(CClass *)index_stack[sp-2];
     36    const CClass *pobj_c = &leftType.GetClass();
    3437
    3538    std::vector<const UserProc *> subs;
     
    5255
    5356    if(bTwoTerm){
    54         params.push_back( new Parameter( "", Type( type_stack[sp-1], index_stack[sp-1] ) ) );
     57        params.push_back( new Parameter( "", rightType ) );
    5558    }
    5659
     
    8992    }
    9093
    91     int right_side_size = Type(type_stack[sp-1],index_stack[sp-1]).GetSize();
     94    int right_side_size = rightType.GetSize();
    9295
    9396    if(bTwoTerm){
Note: See TracChangeset for help on using the changeset viewer.