没有重载函数的实例 "strcpy_s" 与参数列表匹配
No instance of overloaded function "strcpy_s" matches the argument list
出于某种原因,字符无法进入 strcopy_s();...
#include <iostream>
#include <cstring>
using namespace std;
struct DATE {
int year;
int month;
int date;
};
struct Book {
char name[50];
char author[50];
int id;
DATE date;
};
int main() {
Book book1;
DATE date1;
char bookName, bookAuthor;
int date, year, month;
cout << "Date Of Publishing? " << endl;
cin >> date;
cout << "Month Of Publishing?" << endl;
cin >> month;
cout << "Year Of Publishing?" << endl;
cin >> year;
date1.year = year;
date1.month = month;
date1.date = date;
cout << "Book Name ? " << endl;
cin >> bookName;
cout << "Book Author" << endl;
cin >> bookAuthor;
strcpy_s(book1.name, bookName);
strcpy_s(book1.author, bookAuthor);
return 0;
}
给我错误:
Severity Code Description Project File Line Suppression State
Error (active) no instance of overloaded function "strcpy_s" matches the argument list Struct c:\Users\Amanuel\Documents\Visual Studio 2015\Projects\Struct\Struct\Source.cpp 38
Severity Code Description Project File Line Suppression State
Error (active) no instance of overloaded function "strcpy_s" matches the argument list Struct c:\Users\Amanuel\Documents\Visual Studio 2015\Projects\Struct\Struct\Source.cpp 39
Severity Code Description Project File Line Suppression State
Error C2665 'strcpy_s': none of the 2 overloads could convert all the argument types Struct c:\users\amanuel\documents\visual studio 2015\projects\struct\struct\source.cpp 38
Severity Code Description Project File Line Suppression State
Error C2665 'strcpy_s': none of the 2 overloads could convert all the argument types Struct c:\users\amanuel\documents\visual studio 2015\projects\struct\struct\source.cpp 39
正确。 strcpy
及其家族采用 char*
,而不是 char
。他们在 C 字符串上工作。而且您通常不能将 bookName
放入单个字符中。
也就是说,欢迎来到 21 世纪。我们现在使用 std::string
,简单多了。
出于某种原因,字符无法进入 strcopy_s();...
#include <iostream>
#include <cstring>
using namespace std;
struct DATE {
int year;
int month;
int date;
};
struct Book {
char name[50];
char author[50];
int id;
DATE date;
};
int main() {
Book book1;
DATE date1;
char bookName, bookAuthor;
int date, year, month;
cout << "Date Of Publishing? " << endl;
cin >> date;
cout << "Month Of Publishing?" << endl;
cin >> month;
cout << "Year Of Publishing?" << endl;
cin >> year;
date1.year = year;
date1.month = month;
date1.date = date;
cout << "Book Name ? " << endl;
cin >> bookName;
cout << "Book Author" << endl;
cin >> bookAuthor;
strcpy_s(book1.name, bookName);
strcpy_s(book1.author, bookAuthor);
return 0;
}
给我错误:
Severity Code Description Project File Line Suppression State
Error (active) no instance of overloaded function "strcpy_s" matches the argument list Struct c:\Users\Amanuel\Documents\Visual Studio 2015\Projects\Struct\Struct\Source.cpp 38
Severity Code Description Project File Line Suppression State
Error (active) no instance of overloaded function "strcpy_s" matches the argument list Struct c:\Users\Amanuel\Documents\Visual Studio 2015\Projects\Struct\Struct\Source.cpp 39
Severity Code Description Project File Line Suppression State
Error C2665 'strcpy_s': none of the 2 overloads could convert all the argument types Struct c:\users\amanuel\documents\visual studio 2015\projects\struct\struct\source.cpp 38
Severity Code Description Project File Line Suppression State
Error C2665 'strcpy_s': none of the 2 overloads could convert all the argument types Struct c:\users\amanuel\documents\visual studio 2015\projects\struct\struct\source.cpp 39
正确。 strcpy
及其家族采用 char*
,而不是 char
。他们在 C 字符串上工作。而且您通常不能将 bookName
放入单个字符中。
也就是说,欢迎来到 21 世纪。我们现在使用 std::string
,简单多了。