读书人

友元内嵌种

发布时间: 2013-03-25 15:43:04 作者: rapoo

友元内嵌类
如下程序为什么不能编译通过,只要说明原因即可,无需修改,谢谢

#include <iostream>
using namespace std;
class MyClass
{
class palm;
public:
void test(palm& p)
{
p.m_a;
}
};

class MyClass::palm
{
int m_a;
friend class MyClass;
};

int main()
{
return 0;
}

[解决办法]
你的palm在MyClass之后才定义

test里面怎么使用p.m_a;这时候还没有m_a啊

要么将test的实现放在class MyClass::palm之后
要么将palm的定义放在test之前

读书人网 >C++

热点推荐