Ignore:
Timestamp:
Jul 21, 2008, 2:25:54 PM (16 years ago)
Author:
dai_9181
Message:
  • コンストラクタ、デストラクタの直接呼出しをエラー扱いにした。
    • コンストラクタ … New演算子にて、呼ばれるものとする。また、コンストラクタの1ステップ目にて、基底クラスのコンストラクタ呼び出しを許可する。
    • デストラクタ … Delete演算子にて呼ばれるものとする。また、デストラクタ内にて、基底クラスのコンストラクタ呼び出しが自動的に行われるものとする。

※まずは32bit版のみ対応。速やかに64bit版にマージすること。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/compiler_x86/Compile_CallProc.cpp

    r687 r702  
    9797            return true;
    9898        }
     99    }
     100    if( (dwFlags&PROCFLAG_PERMIT_CONSTRUCTOR) == 0 && pUserProc->IsConstructor() )
     101    {
     102        // コンストラクタの直接呼出しはエラーとする
     103        compiler.errorMessenger.Output(145,NULL,cp);
     104        return false;
     105    }
     106    if( (dwFlags&PROCFLAG_PERMIT_DESTRUCTOR) == 0 && pUserProc->IsDestructor() )
     107    {
     108        // デストラクタの直接呼出しはエラーとする
     109        compiler.errorMessenger.Output(146,NULL,cp);
     110        return false;
    99111    }
    100112
Note: See TracChangeset for help on using the changeset viewer.