<p>I'm creating an interface wrapper for a class.  The member within the class is a reference(to avoid copying the large structure).  If I create a private constructor, what is the best way to initialize that reference to appease the compiler?</p>

<pre><code>struct InterfaceWrapper {
    InterfaceWrapper( SomeHugeStructure&amp; src ):m_internal(src){};
    int someElement(void) const { return m_internal.someElement; };
private:
    InterfaceWrapper(){}  // initialize m_internal
    SomeHugeStructure&amp; m_internal;
};
</code></pre>

If you really need to construct the class without having an element, a reference is not the way to go.
If your only reason to use a reference is to avoid copying, I'd suggest using a pointer.
You can simply take the address of the passed reference in you regular constructor, and initialize it to NULL in the private constructor. When the object's lifetime ends the pointer will be a dangling pointer, but the same is true for references...
Alternatively, have the public constructor take a smart pointer and use such a smart pointer as member too, if you're concerned about lifetimes.
And of course, cope with the pointer possibly being NULL in the remainder of the class' code. (but you had to cope with the member possible being a stub in the reference case too, so that's not really an issue)