gpt4 book ai didi

c++ - 为什么header中的static const在代码文件中定义为const

转载 作者:太空狗 更新时间:2023-10-29 21:23:56 26 4
gpt4 key购买 nike

如果我是正确的,类中的静态常量成员定义如下:

// header file, inside a class definition:
static const SomeType my_const;

// cpp file
const ClassName::SomeType my_const = SomeType(5.0);

现在我不明白为什么分类器不存在于 cpp 文件中。可以这么说,签名不匹配,我不想强​​迫症太多,但这背后的原因是什么?

出于好奇,当我添加静态时,这是我收到的错误消息:

error C2720: 'static ' storage-class specifier illegal on members

最佳答案

static 是一个大量重载的关键字,它至少有 4 种不同的含义,还有更多需要注意。难怪你会感到困惑。

您的第一行不只是站在标题中,而是在一个类中。 (请编辑代码)。在一个类中,您可以有普通成员,也可以有在实例之间共享的成员。标记 static 是选择。

在 namespace 范围内,关键字的含义完全不同,即将链接变为内部链接。作为在该范围内进行的定义 ios,您不得添加静态的“版本”。

关于c++ - 为什么header中的static const在代码文件中定义为const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17147346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com