Я получаю сообщение об ошибке, когда хочу скопировать исходную строку, которая является const char *, в строку назначения, которая является char *. Код не получил ошибок, когда я использую strcpy (), но сказать, что он устарел. Я имею в виду, у него нет проблем с типом аргументов. И когда я использую безопасную форму (strcpy_s), она не принимает тип строки назначения (char *). Я знаю, что могу использовать вместо этого strdup (); но я на самом деле хочу знать, что случилось с типом строки назначения.
const char* str1 = "test";
char* str2 = new char[strlen(str1) + 1];
char str3[5];
strcpy(str2, str1); // no errors. But it's deprecated
strcpy_s(str2, str1); // error. No instance of overloading function "strcpy_s".....
strcpy_s(str3, str1); // It works without any problem.