#defineについて質問です。

class Aに Allocate(a,b)という関数があり
class Bには Allocate(a) という関数があります。

class AのAllocate(a,b)を置換したくて
#define Allocate(a,b) AllocateEx(a,b,__FILE__,__LINE__)
とすると、class Bの Allocate(a)まで対象となってしまい
しかも引数の数が合わないとコンパイラに怒られます。

なんとかclass AのAllocateだけを置換対象とする事はできないでしょうか?
それとも別の解があれば、教えてください。