When I put boost::thread Thread; in my struct I get the error error C2248: 'boost::thread::thread' : cannot access private member declared in class'boost::thread'
You can't default construct a boost::thread because the constructor needs a callback in order to launch the thread.
If you're going to have a thread as a member var you'll have to explicitly construct it in your constructor's initialization list.
Or... you can own a pointer to a thread and create it with new when you're ready for the thread to start. To avoid having to delete, you can put it in a unique_ptr:
1 2 3 4 5
std::unique_ptr< boost::thread > Thread; // or boost::unique_ptr if your compiler doesn't
// support C++11 smart pointers
// then in the in ctor... or wherever you want to create your thread:
Thread = std::unique_ptr<boost::thread>( new boost::thread( your_callback ) );
...
Of course... you probably should not be using a thread here in the first place....