问题列表 - 第49886页

使用Boost Library程序选项的必需参数和可选参数

我正在使用Boost程序选项库来解析命令行参数.

我有以下要求:

  1. 一旦提供"帮助",所有其他选项都是可选的;
  2. 一旦未提供"帮助",则需要所有其他选项.

我怎么处理这个?这是我的代码处理这个,我发现它非常多余,我认为必须有一个容易做的,对吧?

#include <boost/program_options.hpp>
#include <iostream>
#include <sstream>
namespace po = boost::program_options;

bool process_command_line(int argc, char** argv,
                          std::string& host,
                          std::string& port,
                          std::string& configDir)
{
    int iport;

    try
    {
        po::options_description desc("Program Usage", 1024, 512);
        desc.add_options()
          ("help",     "produce help message")
          ("host,h",   po::value<std::string>(&host),      "set the host server")
          ("port,p",   po::value<int>(&iport),             "set the server port")
          ("config,c", po::value<std::string>(&configDir), "set the config path")
        ;

        po::variables_map vm;
        po::store(po::parse_command_line(argc, argv, desc), vm);
        po::notify(vm);

        if (vm.count("help"))
        {
            std::cout << desc << "\n";
            return false;
        }

        // There …
Run Code Online (Sandbox Code Playgroud)

c++ boost optional boost-program-options required

73
推荐指数
3
解决办法
4万
查看次数

将提交移动到新分支,从推出的repo上的当前分支中删除

我是一个团队的几个git存储库的经理,经常遇到这个问题.当他们应该创建一个功能分支时,另一个团队成员意外地在master或staging分支上提交他们的工作.

那些提交还没有准备好被推送,所以我被卡住了.我知道如何在创建一个新分支后重置当前分支,但是当事物全部通过远程仓库推送时,它无法正常工作.

我需要一种方法将最后一个x号提交从分支A移动到新分支B,从分支A中删除这些提交(以允许我安全地推回到远程仓库的方式).当分支B完成时,我需要能够将它合并回分支A.

我已经找到了大量的建议,但是没有一个能够在已经推送的提交中正常工作.

git

0
推荐指数
1
解决办法
1426
查看次数

关于一元价值的案例

有没有办法对monad中存储的值执行一个案例,而不必将名称绑定到它?

即而不是这样做:

c <- getChar
case c of
  ...
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点:

mcase getChar of
  ...
Run Code Online (Sandbox Code Playgroud)

或者,如果case语句可以部分应用,那将是很好的:

case of
  ...
Run Code Online (Sandbox Code Playgroud)

会不情愿地:

\a -> case a of
  ...
Run Code Online (Sandbox Code Playgroud)

所以你可以这样做:

getChar >>= case of
              ...
Run Code Online (Sandbox Code Playgroud)

haskell

21
推荐指数
3
解决办法
3003
查看次数

生成10阶多项式的值及其在C中的导数

我试图生成具有11个系数的10阶多项式的值.我也试图产生它的衍生物.我写了三个函数如下所示.此代码生成多项式的值.a1到a10是系数.

float polynm( float a0,float a1,float a2,float a3,float a4,float a5,float a6,float a7,float a8,float a9,float a10,float x)
     {
          float poly = a0 + a1*x + a2*pow(x,2)+a3*pow(x,3)+a4*pow(x,4)+a5*pow(x,5)+a6*pow(x,6)+a7*pow(x,7)+a8*pow(x,8)+a9*pow(x,9)+a10*pow(x,10);
             return poly;
             }
Run Code Online (Sandbox Code Playgroud)

此代码生成它调用函数deri的多项式的导数值

 float polynm_der(float a0,float a1,float a2,float a3,float a4,float a5,float a6,float a7,float a8,float a9,float a10,float x)
    {  float der = a1 + a2*deri(x,2)+a3*deri(x,3)+a4*deri(x,4)+a5*deri(x,5)+a6*deri(x,6)+a7*deri(x,7)+a8*deri(x,8)+a9*deri(x,9)+a10*deri(x,10);
       return der;
       }
deri is below
float deri(float x,int n)
   {   
         float term_der = n*pow(x,n-1);
           return term_der;
           }
Run Code Online (Sandbox Code Playgroud)

多项式的代码是低效的.如果我想生成一个100阶多项式,它将变得不可能.有没有办法可以递归生成多项式及其导数,以避免笨重的代码.

c polynomial-math

1
推荐指数
1
解决办法
846
查看次数

jQuery:如何获取已检查单选按钮的索引

我最近遇到了一个StackOverflow答案,它给出了如何使用jQuery获取已检查单选按钮的值的优秀指令:

var radioVal = $("#myFormID input:radio[name='radioFieldName']:checked").val();
alert('Selected radio button value = ' + radioVal);
Run Code Online (Sandbox Code Playgroud)

现在我试图找到已检查单选按钮的从零开始的索引.我认为这会相对简单:

var radioIdx = $("#myFormID input:radio[name='radioFieldName']:checked").index();
Run Code Online (Sandbox Code Playgroud)

但是,radioIdx总是返回值-1.关于我可能做错的任何想法?

jquery radio-button

18
推荐指数
2
解决办法
4万
查看次数

自定义轴刻度-“反向”对数?

不好意思的标题;)

我正在尝试重新创建在其他工作中遇到的Matlab图,但我不太了解他们使用的比例尺。y轴增量如下(从顶部[+ ve y]开始):

0.9999、0.999、0.99、0.9、0

我可以使用符号学来绘制对数图,但这是一种错误的方法。我的增量去

1,0.1,0.01,0.001等

实际上是1- i,其中i是我实际想要的增量!无论如何,我并不完全理解如何描述这种情节。有人可以帮忙吗?

math matlab octave

5
推荐指数
1
解决办法
5947
查看次数

Cmake target_link_libraries没有链接我的库

我会开始说我在Cmake问题上几乎完全愚蠢.

我有以下CMakeLists.txtKdevelop 4.1项目:

project(uart)

find_package(KDE4 REQUIRED)
include (KDE4Defaults)

include_directories( ${KDE4_INCLUDES} ${QT_INCLUDES} src/include src/include/QSerialDevce )

add_subdirectory(doc)
add_subdirectory(src)
add_subdirectory(icons)

link_directories(/usr/lib)

find_library(SERIALDEVICE_LIB qserialdeviced)

add_executable(uart ${uart_SRCS})
target_link_libraries(uart ${SERIALDEVICE_LIB})
Run Code Online (Sandbox Code Playgroud)

当我尝试构建我的项目时,我看到:

uart/build> make -j2
-- Found Qt-Version 4.6.3 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found KDE 4.5 include dir: /usr/include/kde4
-- Found KDE 4.5 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
CMake Error at CMakeLists.txt:16 (add_executable):
  add_executable called with incorrect number of arguments


CMake Error: Attempt …
Run Code Online (Sandbox Code Playgroud)

c++ linux linker kdevelop cmake

18
推荐指数
1
解决办法
5万
查看次数

实现阵列初始化器

您可以在同一行上声明和初始化常规数组,如下所示:

int PowersOfTwo[] = {1, 2, 4, 8, 16, 32, 64, 128};
Run Code Online (Sandbox Code Playgroud)

有没有办法在自定义类中复制此行为?所以,例如:

MyClass<int> PowersOfTwo = {1, 2, 4, 8, 16, 32, 64, 128};
Run Code Online (Sandbox Code Playgroud)

您可以让复制构造函数将数组作为其参数,但您仍需要在上一行声明该数组.

int InitializationArray[] = {1, 2, 4, 8, 16, 32, 64, 128};
MyClass<int> PowersOfTwo = InitializationArray; 
Run Code Online (Sandbox Code Playgroud)

c++ arrays oop syntax constructor

5
推荐指数
1
解决办法
529
查看次数

Wicket:在提交时更改AjaxButton的文本

我是Wicket的菜鸟并尝试在提交时更改AjaxButton的文本.所以我的想法是,第一次加载页面时,用户看到一个标记为"1"的AjaxButton,点击按钮后,按钮的标签变为"2",然后在下一次单击"3"后等等...这可不难,但正如我所说,当涉及检票口时,我是一个noobie.所有帮助赞赏!

form.add(new AjaxButton("ajax-button", form)
    {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form)
        { //how to change Button label here?
         }
Run Code Online (Sandbox Code Playgroud)

}

java ajax ria wicket button

3
推荐指数
1
解决办法
1万
查看次数

iPhone4,如何阻止应用程序被暂停?

我试图测试一个需要长时间运行的应用程序并帮助初始测试我试图找到一种方法来阻止iOS将应用程序移动到后台并暂停它.最终我会添加代码以方便多任务的使用,但是现在我只想更好地测试核心机制而不用iOS将它一直推到后台.

iphone objective-c ios4

1
推荐指数
1
解决办法
978
查看次数