Lange Geschichte, hier ist das Problem:Wie soll ich meinen Allokator wiederbindbar machen? Kann ich es machen, während ich seine Felder privat halte? kurze
template<class T>
struct alloc
{
template<class U>
alloc(alloc<U> const &other) : foo(other.foo) { } // ERROR: other.foo is private
template<class U> struct rebind { typedef alloc<U> other; };
private:
pool<T> *foo; // do I HAVE to expose this?
};
ist die einzige Lösung, die privaten Felder öffentlich zu entlarven?
Wie soll man eigentlich den Konvertierungskonstruktor machen?
Es ist sollte möglich sein, durch den Konstruktor macht eine 'friend', aber ich kann nicht die Syntax herauszufinden:/ – Rakete1111
@ Rakete1111: Ich nehme an, Sie bedeuten machen die Klasse ein Freund? Ich glaube nicht, dass man sich überhaupt auf Konstrukteure beziehen kann, geschweige denn versuchen kann, sie zu Freunden zu machen. – Mehrdad
[Aber Konstruktoren können Freunde sein] (http://stackoverflow.com/questions/18310297/can-a-constructor-function-be-a-a-friend-in-c) :) Oder fehlt mir etwas? – Rakete1111