gpt4 book ai didi

c++ - 在 C++ 中返回对象的问题

转载 作者:行者123 更新时间:2023-11-30 02:39:52 25 4
gpt4 key购买 nike

我刚开始使用 C++,但我在作业的一部分遇到了问题:

class Something {
public:
Random& random(); // should access a data member of type Random
private:
Random test(int r, int c);
}

Random& Something::random() {
return (Random&) test;
}

现在 random() 的函数定义中的“test”出现错误,因为“表达式必须是左值”并且我构建了解决方案并且给出的错误消息显示“'&':绑定(bind)上的非法操作成员函数表达式"

我必须保持函数声明的原样,因为它在规范中以这种方式列出。

我该如何解决这个问题?

最佳答案

您在评论中说:“test”应该是一个成员变量。

然后,您需要将类更改为:

class Something {
public:
Random& random(); // should access a data member of type Random
private:

// Not this. This declares test to be member function.
// Random test(int r, int c);

// Use this. This declares test to be member variable.
Random test;
}

Random& Something::random() {
return test;
}

关于c++ - 在 C++ 中返回对象的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29464956/

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