chciałbym wywołać następujący kod w C++, których nie mogę zmienić:Jak uniknąć przestarzałej konwersję z ciągiem stałym do „char *” w C++
void getAge(char *name)
{
// do something
}
Kiedy ja to nazywam z getAge("hello");
, ma następujące ostrzeżenie:
warning: deprecated conversion from string constant to 'char*'
, ale nie ma żadnego ostrzeżenia w kodzie C. Jaka jest różnica i jak zmienić wywołanie, aby uniknąć ostrzeżenia w C++?
Czy parametr funkcji ma postać "const char *"? –
nie, jest to funkcja zdefiniowana przez innych, nie można zmienić – user2131316
W takim przypadku należy rzucić argument. –