gpt4 book ai didi

c++ - 不完整类型的静态字段 - 合法吗?

转载 作者:IT老高 更新时间:2023-10-28 22:20:47 26 4
gpt4 key购买 nike

在 C++ 中声明类定义时不完整类型的静态字段是否合法?例如:

Foo.h:

class Foo
{
public:
// ...
private:
class Bar;
static Bar something;
};

Foo.cpp:

class Foo::Bar
{
// ...
};

Foo::Bar Foo::something;

// some more code

编译器似乎接受它,我看不出应该拒绝它的原因,但标准对这种情况有什么看法?我非常感谢有人直接引用标准,最好是“旧”标准(2003 年的标准)。

最佳答案

是的,您正在做的事情是明确允许的(第 9.4.2/2 节):“静态数据成员在其类定义中的声明不是定义,并且可能是除 cv 限定之外的不完整类型无效。”

关于c++ - 不完整类型的静态字段 - 合法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068886/

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