我有以下代码。如何为在C++中使用'char *'的函数提供'const char *'参数?
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
@AnT - 不,我无意修改这个论点。 –