【发布时间】:2014-03-17 10:04:52
【问题描述】:
假设我有函数foo(string& s)。如果我得到C string、foo(char* s),我会简单地将函数称为foo("bar")。
我想知道我是否可以在C++ String 中以某种方式做到这一点?
以某种方式缩短这个:
string v("bar");
foo(v)
我正在使用 Linux GCC C++。
【问题讨论】:
-
afaik 你可以做 foo("bar") 如果参数是一个字符串,转换将自动完成。
-
你能粘贴你的代码和你得到的错误吗?
-
参数必须是一个常量引用。
-
因为你是通过引用传递的。
-
请注意,为定义
void foo2(char*)调用foo2("bar")是危险的,因为它允许您写入参数。
标签: c++ parameter-passing shortcut