gpt4 book ai didi

c++ - 从已声明的结构访问类数据

转载 作者:行者123 更新时间:2023-11-30 04:17:14 24 4
gpt4 key购买 nike

好吧,我已经尝试了几种方法来处理这个问题,但我似乎无法解决它。

在我的头文件中我有:

class MyClass {
public:
bool test;

struct MyStruct;
};

我还有一个构造函数等等,但这并不重要/不会导致错误

在cpp中我想做的是:

MyClass::MyStruct {
test=true;
};

问题是结构无法访问测试变量。如何将当前实例的变量传递给结构或以其他方式允许结构访问变量。

最佳答案

这个:

MyClass::MyStruct {
test=true;
};

根本不是有效的 C++ 代码。也许你的意思是:

MyClass::Class() {
test=true;
}

这将生成 MyClass 的默认构造函数,将 test 设置为 true。但是你的问题让你觉得你想从 MyClass::MyStruct 中设置 MyClass::test 的值。这实际上是不可能的,因为嵌套类(或结构,在您的情况下)不会“继承”或“包含”,或者与其封闭类(或结构)几乎没有任何特殊关系。

另一种可能是这样的:

class MyClass {
public:
static bool test;

struct MyStruct;
};

MyClass::MyStruct::MyStruct() {
test=true;
}

这将创建一个嵌套结构的默认构造函数,它在封闭类中设置一个变量,但是该变量需要是静态的,这意味着整个程序中只有一个,而不是每个类或类的每个实例都有一个单独的值结构。

关于c++ - 从已声明的结构访问类数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234897/

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