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 に答える