Ignore:
Timestamp:
Aug 26, 2007, 3:57:23 AM (17 years ago)
Author:
dai_9181
Message:

非仮想関数のオーバーライドをエラー扱いにした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r299 r305  
    514514    BOOST_FOREACH( CMethod *pMethod, pobj_c->GetMethods() ){
    515515        if( pMethod->GetUserProc().GetName() == temporary ){
    516             if( pMethod->GetUserProc().Params().Equals( pUserProc->Params() ) ){
    517 
    518                 if(pMethod->IsVirtual()){
    519                     //メンバ関数を上書き
    520                     pMethod->SetUserProcPtr( pUserProc );
    521                     pMethod->Override();
    522 
    523                     if( !isOverride ){
    524                         SetError(127,NULL,nowLine);
    525                     }
    526                     if(pMethod->GetAccessibility() != accessibility ){
    527                         SetError(128,NULL,nowLine);
    528                     }
    529 
    530                     pUserProc->SetMethod( pMethod );
    531                     return;
    532                 }
     516            if( pMethod->GetUserProc().Params().Equals( pUserProc->Params() ) )
     517            {
     518                //メンバ関数を上書き
     519                pMethod->SetUserProcPtr( pUserProc );
     520                pMethod->Override();
     521
     522                if( !pMethod->IsVirtual() )
     523                {
     524                    // オーバーライドミス
     525                    SetError(136,NULL,cp);
     526                }
     527                if( !isOverride )
     528                {
     529                    SetError(127,NULL,nowLine);
     530                }
     531                if(pMethod->GetAccessibility() != accessibility )
     532                {
     533                    SetError(128,NULL,nowLine);
     534                }
     535
     536                pUserProc->SetMethod( pMethod );
     537                return;
    533538            }
    534539        }
Note: See TracChangeset for help on using the changeset viewer.