У меня есть пользовательский класс, один из членов которого - тип char*
. Когда я пытаюсь инициализировать его в конструкторе я получаю сообщение об ошибке говорящее error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
Проблема с функцией strcpy
Однако, когда я изменил STRCPY к strcpy_s, было бы еще дать следующую ошибку IntelliSense: no instance of overloaded function "strcpy_s" matches the argument list argument types are: (char *, char *)
Скажем Student
класс и char* name;
один из данных members.So, мой конструктор, как:
Student (char* s = NULL) {
if (s != NULL) {
name = new char[strlen(s) + 1];
//strcpy(name,s);
strcpy_s(name,s);
}
}
Таким образом, если количество байт в переменной, как я делаю это в данном случае? –
Могу ли я ввести произвольный максимальный размер, скажем, 100 как второй аргумент? –
Я этого не понимаю. Может кто-то прояснить? –