Both approaches are valid, however in this context I would suggest the first approach:

    FrameArchiver archiver;
    if (archiver.archive(directory, &output))
    {
        ...

Note that I renamed `frameArchiver` to `archiver` (with our naming convention, it should have been `frame_archiver` but I think a shorter name here is easier on the eyes). Also, you need to use the `.` operator, not the `->` one because `archiver` is an instance, not a pointer to an instance.