C++,#ifdef问题

5Yr*_*DBA 1 c++

现在没有用C++编码,但是当我在C#中有一个问题时出现了一个问题.希望这里的专家可以很容易地给出一个回音.

Class A{
  #ifdef AFlag
  public void methodA(){...}
  #endif
}

Class B{
...
  A a;
  a.methodA();
...
}

Class C {
...
  A a;
  a.methodA();
...
}
Run Code Online (Sandbox Code Playgroud)

如果没有在任何地方定义AFlag,会发生什么?编译错误或没有错误,但方法A和那些调用该方法的语句将不会被编译?谢谢

Mat*_*hen 9

将出现编译错误.