出于某种原因,一个字符进入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
答案 0 :(得分:3)
正确。 if let
及其家人采用strcpy
,而非char*
。他们使用C字符串。而且,无论如何,您通常无法将char
放入单个字符中。
那就是说,欢迎来到21世纪。我们现在使用bookName
,更容易。