是否可以将char **作为参数传递
Is it possible to pass a char** as a parameter
声明: Menu(const char* header_, const char* footer_, const char** options_);
定义:Menu menu(header, footer, (char**){"Option A", "Option B", "Option C", NULL});
它们的数组用红色下划线。
可以将char **作为参数
传递
是。
您的代码被下划线的原因是(可能(,因为此代码是如此丑陋/不安全,以至于开发人员在您的IDE中添加了特殊处理,以标记此类代码。
如果是旧代码,对不起。
如果是您的代码(或者只有可以更改(,请考虑:
-
用
const std::vector<std::string>&
替换const char**
参数(以这种方式您将少有很多问题(。 -
用const引用到std ::字符串实例,替换其他参数,或者如果更好地适合您的方案。
-
用nullptr替换null(不要在新代码中使用null(。
-
不使用C 代码中的C风格铸件。
-
不使用参数名称的尾随下划线。
#include <array>
Menu menu(header, footer, ::std::array< char const *, 4 >{"foo", "bar", "foobar", nullptr}.data());
相关文章:
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用指向成员的指针将成员函数作为参数传递
- 如何将参数传递给正在使用模板的类
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 修改函数中的指针(将另一个指针作为参数传递)
- 如何将部分流作为参数传递
- 我正在开发服务器,ip作为参数传递不起作用
- 将成员函数指针作为参数传递给模板方法
- 如何在C++中将迭代器作为函数参数传递
- 将附加参数传递给使用 beast::bind_front_handler 调用的函数
- 如何将一个类的函数作为另一个类的另一个函数的参数传递
- 将函数参数"const char*"转换为"std::string_view"是
- 将参数传递为"const"的奇怪效果
- 如何在 c++ 中将函数作为参数传递?
- 使用安全模式从DLL(通过(INTPTR)参数传递到该函数)获取char **
- 是否可以将char **作为参数传递
- 将"typedef char IPString[17]"作为参数传递给函数
- 将 char 数组作为参数传递时,为什么索引中不包含 null 终止符?
- 错误:将"const string {aka const std::__cxx11::basic_string}"<char>作为"this"参数传递
- 传递char作为参数