Construction
In general, construct an RWScopeGuard object by initializing it using one of the rwtMakeScopeGuard() functions:
 
RWScopeGuard sg0 = rwtMakeScopeGuard(free, p);
You can also copy construct it:
// ...
RWScopeGuard sg0 = rwtMakeScopeGuard(free, p);
RWScopeGuard sg2 (sg0);
RWScopeGuard sg3 = sg0;
// ...
However, because RWScopeGuard is not actually a class but a typedef for const RWScopeGuardImp&, it is not default constructible or assignable:
// ...
RWScopeGuard sg1; // fail; not default constructible
sg1 = sg0; // fail; not assignable
// ...