0
namespace iris {
    namespace imon {
        class myclass {
            private:
                typedef enum ppTag {
                    X1 = 0,
                    X2 = 1,
                    X3 = 254,
                    X4 = 255
                } pp;

                typedef struct {
                    int x;
                    int y;
                    int z;
                } Data;
                pp myFunc();

            public:
                myclass() { };
                virtual ~myclass() {};
                int func();
        };

        pp myclass::myFunc()
        {
         ...
        }

        int myclass::func()
        {
            return 0;
        }
    }
}

g++ 返回错误:pp does not name a type

我认为我可以在类的公共方法中轻松使用私有声明的结构、typedef 等。我还有什么做错的?

4

1 回答 1

2

您需要限定类型才能访问它:

    myclass::pp myclass::myFunc()
    {
     ...
    }
于 2013-09-30T22:27:54.733 回答