【发布时间】:2020-03-27 18:11:20
【问题描述】:
所以我有一个问题,在 c++11 中,为什么我必须指定静态成员的类型才能为其赋值?
例子:
class Player
{
static size_t numOfObj;
public:
Player(){numOfObj++;}
~Player(){numOfObj--;}
}
size_t Player::numOfObj = 0;
在这种情况下,为什么我必须再次指定 numOfObj 的类型为 size_t,因为它已经被声明,我不能只做 Player::numOfObj = 0; 吗?
提前致谢。
【问题讨论】:
-
@idclev463035818 更新
-
请注意,在 C++17 中,您可以只在类中分配值,而无需重复。
-
@einpoklum 是的,我知道,但我只是想看看为什么在这种情况下我们必须这样做:)
-
@idclev463035818 是的,但它本身也是重复的。
-
我清理了我的 cmets,是的,你可以回答你自己的问题,根据我的经验,自我回答的问题会有更高的标准,但原则上回答你自己的问题没有错问题
标签: c++