Stack Overflow на русском Asked on December 30, 2021
Я хочу что бы было что то вроде
void func(int i, char* name)
{
if (i = 3)
{
std::cout << name << std::endl; //valera
name = "anton";
std::cout << name; //anton
}
}
int main()
{
static char name[] = "valera";
func(3, name);
std::cout << name; // anton
}
Но при попытке выполнить этот код у меня ошибка
E0513 значение типа "const char *" нельзя присвоить сущности типа "char *"
Как мне правильно сделать код?
Перефразируя из "Ивана Васильевича" - "да сделать-то его, царь-надёжа, не мудрено":
void func(int i, char* name)
{
if (i = 3)
{
std::cout << name << std::endl; //valera
strcpy(name,"anton");
std::cout << name; //anton
}
}
int main()
{
static char name[] = "valera";
func(3, name);
std::cout << name; // anton
}
Только вот то ли это, что вы хотите?
Например, точно нужно присваивание, а не сравнение? :)
if (i = 3)
Далее - нужно позаботиться, чтоб передаваемый массив имел достаточно места для размещения новой строки...
Answered by Harry on December 30, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP