gpt4 book ai didi

c++ - 如何访问类的静态常量成员的地址?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:05:34 24 4
gpt4 key购买 nike

这段代码编译不通过,错误信息为“undefined reference to `A::a'”:

代码 1:

#include <iostream>
using namespace std;

class A
{
public:
static const int a=0;
};

int main()
{
cout<<&A::a<<endl;
return 0;
}

但对于非常量静态成员,它会编译:

代码 2:

#include <iostream>
using namespace std;

class A
{
public:
static int a;
};
int A::a=0;

int main()
{
cout<<&A::a<<endl;
return 0;
}

有没有办法访问类的静态常量成员的地址?如果有,怎么办?为什么代码 1 无法编译?

最佳答案

const int A::a;

在源文件中,否则编译器不会为a生成地址。请注意,此处不再重复该值。

关于c++ - 如何访问类的静态常量成员的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18107077/

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