我有以下代碼。如何爲在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 - 不,我無意修改這個論點。 –