2017-04-25 57 views

回答

2

是否有可能通过一个char **作为参数

是。

代码被强调的原因是(可能),因为这个代码是如此的丑陋/不安全的,开发商在IDE中对这样的代码添加了特殊的处理被​​标记。

如果是旧的代码,我很抱歉。

如果它是你的代码(或如果你只是有机会去改变它),考虑:

  • const std::vector<std::string>&更换const char**参数(你也少了很多问题,这些问题的方式)。

  • 与常量引用替换其他参数的std :: string的情况下,或按值传递,如果这适合您的方案更好。

  • 替换NULL与nullptr(不要使用在新代码NULL)。

  • 不使用C-风格转换在C++代码。

  • 不使用尾随下划线的参数名称。

1
#include <array> 

Menu menu(header, footer, ::std::array< char const *, 4 >{"foo", "bar", "foobar", nullptr}.data()); 
相关问题