0

std::vector<myClass*>クラス インターフェイスで public const アクセスを許可したいクラスのメンバーがいます。これを行うには、次のように書けるようになりたいです。

    class myClass{
        public: 
        myClass() { /*allocate dynamic stuff */};
        virtual ~myClass() { /* delete dynamic stuff */};

        //Accessors
        const std::vector<const myClass * const> members() const{ //<- How do I implement?

            //Compiles Fine - cit iterates over   const int*    objects
            std::vector<myClass*>::iterator it =  _members.begin(); 

            //Does not compile
            std::vector<myClass* const>::const_iterator citc= it;

            //I need citc to iterate over     cosnt int* const     objects - How?
            std::vector<const myClass * const> members_(citc, citc + _members.size());  //Compile Error

            return members_;
        };  
        /* ...moar stuff....*/
        private:
        /* ...moar stuff...*/
        std::vector<myClass*> _members;
    };

このコードは文脈から切り離されたクリーンな例なので、コンパイルはしていませんが、実際のコードでは、いくつかの画面の長さのエラー メッセージから、深刻な問題は 'const myClass * 'const myClass*' オブジェクトではなく、const' オブジェクト。考え?ありがとうございます。

4

1 に答える 1