首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

boost:options_description的有关问题

2012-02-12 
boost::options_description的问题想试一下boost里的regex,结果编译执行第一个例子(grep.cpp)就有错......

boost::options_description的问题
想试一下boost里的regex,结果编译执行第一个例子(grep.cpp)就有错......

查了一下是因为option描述信息太长,需要折行显示,在计算格式时,跌代器加法运算越界。
对应boost里的以下代码:
/*   options_description.cpp   */
        namespace   {

                void   format_paragraph(std::ostream&   os,
                                                            std::string   par,
                                                            unsigned   first_column_width,
                                                            unsigned   line_length)
                {
                        ...   ...
                        string::const_iterator               line_begin   =   par.begin();
                        const   string::const_iterator   par_end   =   par.end();
                        ...   ...
                                        //下面这句出了问题
                                        if   (line_begin   +   (line_length   -   indent)   >   par_end)
                                        {
                                                line_end   =   par_end;
                                        }
                                        else
                                        {
                                                line_end   =   line_begin   +   (line_length   -   indent);
                                        }
                        ...   ...
                }
        }

是boost的bug?还是编译器的问题?请高手解答。

boot   1.33.1
vc2005



[解决办法]
用错可能性远大于bug。
要么认真看Boost.Program_options的文档,要么先跳过。
这个库不是特别重要吧,建议跳过。
[解决办法]
我们在windows下用vc编译boost_1_33_1的程序遇到过不少问题
在linux/gcc下未发现此类问题

热点排行