Boost logo

Boost Users :

From: Stuart Dootson (stuart.dootson_at_[hidden])
Date: 2005-01-22 08:56:05


On Fri, 21 Jan 2005 15:50:19 -0600, Matthew P. Cashdollar
<mpc_at_[hidden]> wrote:
> Hello,
>
> I have been using program_options for a while and it works great.
> However, I don't know how to make a program which behaves like this:
>
> programname -blah abc -blah def -blah ghi
>
> In my code I would read the option blah as a vector of strings, like:
>
> po::options_description desc("Configuration");
> desc.add_options()
> ("blah",
> po::value<vector<string>>(),
> "the location of the blah device")
> ;
> po::store(po::parse_config_file(config_file, desc), vm);
> po::notify(vm);
>
> etc.
>
> When I try to compile the code under MSVC++ 7.0 I get this error (among
> others):
>
> error C2947: expecting '>' to terminate template-argument-list, found '>>'
>
> Is it possible for me to do what I am trying to with the program_options
> library?
>
> Thanks,
> -Matt

Instead of 'po::value<vector<string>>()', use
'po::value<vector<string> >()' - i.e. put a space between the '>'
characters. The C++ compiler is seeing '>>' as the right bit-shift
operator, not two '>' characters closing the template argument lists.

Stuart Dootson


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net