gpt4 book ai didi

C++ 成员函数作为友元

转载 作者:太空宇宙 更新时间:2023-11-04 14:29:48 26 4
gpt4 key购买 nike

f 是struct Y 的成员函数,在struct X 中声明为友元。为什么f 不能按预期访问X 的私有(private)成员?

请帮助我了解如何有效地使成员(member)功能成为 friend 。我很容易找到作为 friend 的全局函数的可访问示例,但不是成员函数。

struct X;

struct Y {
void f(X* a);
};

struct X {
private:
int i;
public:
friend void Y::f(X* a);
};

void Y::f(X* x) {
x->i = 0; // Error: member "X::i" (declared at line 9) is inaccessible
}

最佳答案

F 不需要是虚拟的吗?我可能是错的。

关于C++ 成员函数作为友元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745660/

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