回 帖 发 新 帖 刷新版面

主题:[讨论]请教高手

在MFC编程中,如果定义了三个类,分别为A、B、C,即
//A.h
class A
{
   public:
      int a;
      int b;
public:
   void fun();
};


//B.h
#include "A.h"
class B
{
public:
    int a;
    int b;
    A   duixiang[100];
public:
    void fun();

};


//C.h
#include "B.h"
class C
{
public:
   int a;
    int b;
public:
 void fun();
};

然后对于C类的fun()有如下定义
void C::fun()
{
   ((B::duixiang)[2]).fun();
}

当我用这种方式访问A类中fun()函数时,系统提示illegal reference to data member' B::duixiang' in a static member function


请高手帮我解决一下!!!

回复列表 (共3个回复)

沙发

没法解决,因为理论上就不通:)

板凳

看着有点诡异,直接调用没实例化的类的方法??

3 楼

试试用 静态函数 的方法

我来回复

您尚未登录,请登录后再回复。点此登录或注册