Ari*_*rif 5 c++ forward-declaration friend-function
#include <iostream>
class B;
class A{
int a;
public:
friend void B::frndA();
};
class B{
int b;
public:
void frndA();
};
void B::frndA(){
A obj;
std::cout << "A.a = " << obj.a << std::endl;
}
int main() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
尝试编译此代码时,发生了一些错误.例如
无效使用不完整类型
这段代码有什么问题?
将整个class B ...声明放在 之前class A。你还没声明B::frndA();呢
#include <iostream>
using namespace std;
class B{
int b;
public:
void frndA();
};
class A{
int a;
public:
friend void B::frndA();
};
void B::frndA(){
A obj;
//cout<<"A.a = "<<obj.a<<endl;
}
int main() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)