1. ホーム
  2. C++

C++ [エラー] 'std::string {aka std::basic_string<char>}' を 'char*' に変換できないエラー

2022-02-07 17:57:57
<パス

最近、派生クラスについて学んだのですが、ある問題で、キーボードからデータを読み取るための関数GetData()を基底クラスと派生クラスのそれぞれに記述するようにという問題がありました。
文字列を読み込むときは、まずこのように書きます。

   cout<<"Please enter the title of the publication:"; 
   gets(title); //directly uses gets
   cout<<"Please enter the price: ";
   cin>>this->price;

その結果、エラーが報告される
[エラー] 'void str(char*)' への引数 '1' に対して 'std::string {aka std::basic_string}' を 'char*' に変換できない。

しかし、代わりに
cin>>タイトルです。
または
getline(cin,title)を使用します。

そして、これで終わりです。

一部の神が言っていた、ヘッダーを変更することを利用して
#include<iostream.h>
うまくいかないようです。コンパイラのせいかもしれません。