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' オブジェクト。考え?ありがとうございます。