【发布时间】:2017-07-24 10:17:46
【问题描述】:
根据this C++ 中“静态”关键字的链接:
static 关键字仅与静态声明一起使用 成员,在类定义中,但不在定义中 那个静态成员。
为什么在成员函数定义中禁止使用 static 关键字?我确实理解在定义中将函数重新声明为“静态”是多余的。但是在函数定义的编译过程中使用它应该是无害的,因为它不会导致任何歧义。那么为什么编译器会禁止它呢?
【问题讨论】:
-
static在类外函数定义上表示内部链接,但是类成员函数具有外部链接。这会令人困惑 -
编译器始终处于判断函数是成员函数还是全局函数的状态。不应该对此感到太困惑。 :-/
-
@M.M 但他说的是类成员函数。
-
@MichaelWalz 别开玩笑了
-
@aakashbhowmick 阅读代码的人会感到困惑,而不是编译器。