【发布时间】:2016-07-13 20:15:47
【问题描述】:
我有以下代码。
const char* my_input = "my string";
void my_function(char* my_argument);
int main()
{
my_function(my_input);
}
void my_function(char* my_argument)
{
/* Do something */
}
请注意,my_function 的参数需要一个“char*”,但我为它提供了一个“const char*”。
我的 IDE 给了我错误:调用 'my_function' 没有匹配的函数。
我认为这是因为函数调用被解释为“my_function(const char* my_argument)”,我显然没有定义(也不想定义)。
我怎样才能使我的常量输入对预期的非常量参数有效?
在我的真实程序中,我有一个接收“char*”的函数,但它不会修改它。参数本身可能不是一个常数(通常也不是),但有时我希望是一个常数。
【问题讨论】:
-
看起来我们这里又出现了一个匿名回答-downvoting 机器人
-
函数是否尝试修改数据?这是您必须回答的第一个问题。
-
@AnT -- 不,我无意修改参数。
-
@M.M -- 你是什么意思?
-
@SirJony 我连续检查了几个问题,所有答案(或除一个以外的所有答案)都被否决了
标签: c++ function arguments constants