On Thu, 2005-09-01 at 18:14 +0400, Vladimir Prus wrote:
Today I upgraded to boost 1.33, which broke the 'program options' part of my application. Copying of a boost::program_options::options_description is not allowed anymore, because of a const unsigned int m_line_length, defined at line 211 of
: .... I wonder, why is this not allowed anymore (except the obvious answer that a const variable cannot be assigned a new value) ? What is the "new", preferred way to copy these objects ? This was not an explicit design decision -- I just did not though anybody will even want to copy options_description instances.
Why do you do it? I think I can just remove "const".
Hello Vladimir, Thanks for your response! I've created a generic program options parsing class, which uses static functions that allow any class to access the program options without complications. The initialization of the program options requires a 'void addProgramOption ( boost::program_options::options_description )', which copies the program description. I could of course use the obvious solution and start using pointers instead of objects, but I really feel I shouldn't have to... :) Regards, Leon Mergen