gpt4 book ai didi

c++ - 访问一些在 .cpp 中定义的静态变量,而它的类类型也在 .cpp 中定义

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:47 25 4
gpt4 key购买 nike

我想我已经陷入了一种情况,我需要修改某种意义上“ protected ”的东西。找了半天也没找到合适的解决办法,或者说实在是无解。

啊啊

class A
{
static void append(int x);
}

A.cpp

class B;
static B *queue = 0;

class B
{
friend class A;

int value;
B* next;

B(int x)
{
value = x;
next = queue;
queue = this;
}
}

void A::append(int x)
{
new B(x);
}

我想做的基本上是找到一种在不更改 A.h 和 A.cpp 的情况下在另一个源文件中从外部操作队列的方法,因为类 A 和 B 不提供操作队列的方法。

C.cpp

#include "A.h"

<whatever magic declaration>

void C()
{
queue = 0;
}

非常感谢您提出任何意见!

最佳答案

无法访问 A.cpp 之外的queuestatic 为变量提供内部链接,使其在翻译单元之外不可见。期间。

关于c++ - 访问一些在 .cpp 中定义的静态变量,而它的类类型也在 .cpp 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841872/

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