図書館の図書目録の項目を管理するための、cardという名前のクラスを作成しなさい。このクラスに本のタイトル、著者、在庫冊数を格納します。タイトルと著者を文字列として保存し、在庫冊数を整数として保存します。store()という名前の公開メンバ関数を使用して本の情報を保存し、show()という名前の公開メンバ関数を使用して情報を表示します。このクラスの動作を確認するために、単純なmain()関数を追加しなさい。
に対しての解答、(以下のコード)をVisual Studio Community 2017で実行したところ
エラー (アクティブ) E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
が発生します。
これを回避するためにはどこを修正すれば良いのでしょうか。
型のパラメーターと互換性がないとはどういうことでしょうか。
#include <iostream>
#include <cstring>
using namespace std;
class card {
char title[80];
char author[40];
int number;
public:
void store(char *t, char *name, int num);
void show();
};
void card::store(char *t, char *name, int num)
{
strcpy(title, t);
strcpy(author, name);
number = num;
}
void card::show()
{
cout << "本のタイトル: " << title << "\n";
cout << "著者: " << author << "\n";
cout << "冊数: " << number << "\n";
}
int main()
{
card book1, book2, book3;
book1.store("Dune", "Frank Herbert", 2);
book2.store("The Foundation Trilogy", "Isaac Asimov", 2);
book3.store("The Rainbow", "D.H.Lawrence", 1);
book1.show();
book2.show();
book3.show();
return 0;
}