Is it possible to call a private constructor from a static method defined in the cpp?
<p>A C++ n00b question.  Is it possible to call a private constructor from a static method defined in the cpp?   I'd like to keep methods out of the header file if possible -- I figure there should be a way to do this.  I'm getting an error when attempting this:</p>

<p>"cannot access private member declared in class SomeClass"</p>

<pre><code>/////////////////
// SomeClass.h //
/////////////////

class SomeClass {
    public:
        static SomeClass SomeMethod();
    private:
        SomeClass(int i);
}

///////////////////
// SomeClass.cpp //
///////////////////

static SomeClass OSImplementation() {
    return SomeClass(0);
};

// calls implementation
SomeClass SomeClass::SomeMethod() {
    return OSImplementation();
}
</code></pre>
