我有一個boost :: program_options選項,可以將所需的輸入選項成功分析到一個向量中,但是我看不到如何給它一個默認值。例如:向量賦值boost :: program_options的默認值
base.add_options()
("vector_value",po::value<std::vector<double> >(&vecoption)->multitoken(),"description");
工作正常讀值到vecoptions,讓人覺得
base.add_options()
("int_value",po::value<int>(&intoption)->default_value(1),"description");
也工作正常,但試圖給向量參數的默認值像
base.add_options()
("vector_value",po::value<std::vector<double> >(&vecoption)->default_value(std::vector<double>{0,1,2}),"description");
給出編譯器錯誤
error: static assertion failed: Source type is neither std::ostream`able nor std::wostream`able
如何創建一個帶有像{0,1,2}這樣的默認值的矢量值浮動選項?
無關,但你並不需要顯式提供模板參數'婆:: value'。只需'po :: value(&intoption)'和'po :: value(&vecoption)'就可以了。這是一個函數模板。 – Barry