class Foo
{
    public:
        Foo(const char* ){}
        friend void InitMethod(Foo& obj);
};
void InitMethod(Foo& obj){}
int main()
{
    Foo myVar("InitMe");
    InitMethod(myVar);    //Works

    //InitMethod("InitMe"); //Does not work  

    InitMethod(Foo("init"));

    return 0;
}