请问可以修改.h 文件的内容吗

另外,cpp 文件可以修改命名空间和链接的头文件吗

通用的原则是:任何一处修改都只能影响一个源文件,产生跨源文件影响的修改(例如头文件、extern 变量等等)都是不被允许的。下面我尽量把修改的限制讲清楚。

除了两个“挑战任务“可以任意修改文件,其余的实验都遵循这几条规定:

  • 头文件 (.h / .hpp) :不允许进行任何修改。
  • 源文件 (.cpp) :除了指定的函数以外,
    • 你可以自己加新的函数和新的(全局)变量;
    • 也可以引入其他头文件,但仅限 Dandelion 自身或目前已包含的第三方库,不允许增加任何新的库;
    • 所有函数声明、变量定义、命名空间标识符均不可更改,但可以向某个命名空间内增加新的函数;
    • 不允许使用 extern 关键字。
  • 链接 (linking) :不允许额外链接任何静态 (.lib / .a) 和动态 (.so / .dll) 库。

你对“链接”的理解有误,头文件并不是链接到可执行文件的,而是被编译到可执行文件的,我先理解为引入(包含)头文件。