具体是这样的:
在MyPixel.h里面声明了class MyPixel
在MyImage.h里面声明了class MyImage
其中class MyImage需要一个public attribute-- MyPixel pixel;我的初衷是将MyPixel和MyImage的声明放在各自的.h文件里面,这样会结构会比较清楚一些结果是有错误,原因应该是在MyImage的声明里面,找不到MyPixel类的定义,我考虑过在MyImage.cpp里面#include “MyPixel.h”,结果没有用请问应该怎么解决这个问题谢谢各位了

解决方案 »

  1.   

    我考虑过在MyImage.cpp里面#include “MyPixel.h”,结果没有用
    -----------------应该在MyImage.H里面#include “MyPixel.h”, 实在不行,   在MyImage.H 类前面再加一句
     class MyPixel;
      

  2.   

    To surstar:
    仍然没有用错误指向“ CMyPixel mypixel;” 行,
    error C2079: 'mypixel' uses undefined class 'CMyPixel'
      

  3.   

    这个错误,如果将两个类的声明放在同一个.h文件里面,然后mypixel类的定义在前,就可以消除
    但是我想让这两个类有不同的.h文件,所以。
      

  4.   

    包含头文件
    然后申明一下类
    class CMyPixel;
      

  5.   

    class MyPixel
    CMyPixel mypixel;
      

  6.   

    还是不行各位
    每次错误都指向MyImage.h中的“CMyPixel mypixel” 处,
    在MyImage.h里面include了头文件也没有用(顺便问一下,在头文件里面include别的头文件有用吗)另外,在CMyPixel的定义之前声明class CMyPixel,也没有用,因为每次都是说没有定义CMyPixel类
    我想,CMyPixel的定义在另外一个头文件里面,当然是找不着了,但是单纯的include这个头文件,也无法解决问题另外声明一下,名字是爹妈取的,我不是日本人。再说“川”字和日本人好像没有关系吧?
    还请大家多多帮忙解决这个问题,谢了
      

  7.   

    class MyPixel?
    CMyPixel mypixel?
      

  8.   

    如果将class MyPixel声明成class MyImage的友元类呢?
    赫赫,我也不太清楚~~
      

  9.   

    #include "MyPixel.h"
    放到最顶一行
    大多是这种问题,头文件的包含顺序